php – Codeigniter – 我希望使用/连接到我的一个控制器和一个模型的不同数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Codeigniter – 我希望使用/连接到我的一个控制器和一个模型的不同数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1996字,纯文字阅读大概需要3分钟。
内容图文
![php – Codeigniter – 我希望使用/连接到我的一个控制器和一个模型的不同数据库](/upload/InfoBanner/zyjiaocheng/890/44ba6bbe235a4bff8e6e4029625a6ac5.jpg)
我希望使用/连接到我的一个控制器和一个模型的不同数据库.我发布此消息,因为在CI论坛上我没有得到回应.
我在database.php中添加了这个:
$db['tdb']['hostname'] = "localhost";//localhost
$db['tdb']['username'] = "username";//root
$db['tdb']['password'] = "password";//empty
$db['tdb']['database'] = "databasename";
$db['tdb']['dbdriver'] = "mysql";
$db['tdb']['dbprefix'] = "";
$db['tdb']['pconnect'] = FALSE;
$db['tdb']['db_debug'] = FALSE;
$db['tdb']['cache_on'] = FALSE;
$db['tdb']['cachedir'] = "";
$db['tdb']['char_set'] = "utf8";
$db['tdb']['dbcollat'] = "utf8_general_ci";
这是我的模特:
<?php
class Tadmin_model extends Model{
function Tadmin_model(){
parent::Model();
$tdb = $this->load->database('tdb', TRUE);
}
function FInsert($usernames){
$query = $tdb->query("SELECT * FROM following");
return $query->row();
}
}
?>
这是我的控制器的开始:
<?php
class Tadmin extends Controller{
function Tradmin(){
parent::Controller();
$this->load->model('tadmin_model');
我收到这个错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: tdb
Filename: models/tadmin_model.php
Line Number: …
Fatal error: Call to a member function
query() on a non-object in
/blablabla/tadmin_model.php on line
…
我在这做错了什么?
解决方法:
这里的问题不是使用CodeIgniter的数据库函数,而是使用类中的变量作用域.加载模型时,您将连接到数据库并将结果分配给模型构造函数中的局部变量.当任何函数完成时,将丢弃局部变量.稍后您尝试在$tdb变量上调用query()方法,该变量已被丢弃并获得错误.
您需要将$this-> load-> database()的结果存储在构造函数和方法都可用的位置.您可以将$this-> load-> database()调用移动到控制器方法中,并在每次在模型上调用Tradmin方法时连接到其他数据库.
另一种方法,如果你想让$tdb可用于模型中的所有方法,那就是在类上使用成员变量,这看起来像这样……
<?php
class Tadmin_model extends Model{
var $tdb;
function Tadmin_model(){
parent::Model();
$this->tdb = $this->load->database('tdb', TRUE);
}
function FInsert($usernames){
$query = $this->tdb->query("SELECT * FROM following");
return $query->row();
}
}
?>
希望有所帮助.
吉姆.
内容总结
以上是互联网集市为您收集整理的php – Codeigniter – 我希望使用/连接到我的一个控制器和一个模型的不同数据库全部内容,希望文章能够帮你解决php – Codeigniter – 我希望使用/连接到我的一个控制器和一个模型的不同数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。