脚本宝典收集整理的这篇文章主要介绍了PHP mysqli连接类 – 无法访问外部的连接变量.范围问题,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$db_name = 'dbname'; $db_user = 'dbuser'; $db_password = 'dbpassword'; $db_host = 'localhost'; class database { public $MysqLi; public function connect($db_host,$db_user,$db_password,$db_name){ $this->MysqLi = new MysqLi($db_host,$db_name); if ($MysqLi->connect_errno) { return "Sorry Andre,but you seem to have messed up the DB connection :("; } } } $newConnection = new database; $newConnection->connect($db_host,$db_name);
然后我想在另一个文件中的数据库连接中使用变量$MysqLi – 这是使用$MysqLi变量连接到数据库的简单插入.我将上面的内容包含在连接文件中,但是当我在数据库类中调用该方法时,似乎没有返回$MysqLi变量.我得到PHP错误说…
Fatal error: Call to a member function PRepare() on a non-object in...
我见过那个用
global $MysqLi;
然而,我想以正确的方式去做,因为我听说这不是好的做法.
我知道我可能在这里做错了,因为我不熟悉使用OOP但是我假设通过在connect函数中返回该变量,我可以通过在外部创建类来访问它.
感谢帮助,
谢谢.
$newConnection = new database; $newConnection->connect($db_host,$db_name); $newConnection->MysqLi /* here you have access From outside */
从里面你使用关键字$this …
// like this from inside if ($this->MysqLi->connect_errno) { return "Sorry Andre,but you seem to have messed up the DB connection :("; }
如果您想保护您的变量不受外部访问使用:
private $MysqLi; // instead of public $MysqLi;
以上是脚本宝典为你收集整理的PHP mysqli连接类 – 无法访问外部的连接变量.范围问题全部内容,希望文章能够帮你解决PHP mysqli连接类 – 无法访问外部的连接变量.范围问题所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。