我有一个函数列表函数.php。我正在升级Mysql to Mysqli因为我刚刚学习Mysql现已弃用。
我在顶级connect.php 文件中声明我的连接。第一个文件是必需的。
我所有的功能都使用mysql_query("QUERY")
,总是运行良好。现在我将它们全部更改为:
$con->query("QUERY") // ($con is my connection variable)
现在我得到了
致命错误:在第 241 行对 C:\wamp\www\PHP\functions.php 中的非对象调用成员函数 query()
我不明白为什么我可以查询是否在整个文件中声明变量。它应该可以在任何地方访问,我只是不确定。这导致我的网站被搁置,直到我能解决这个问题。这是一个示例函数函数.php
function getSiteName()
{
$row = $con->query("SELECT * FROM siteinfo")->fetch_array();
return $row["siteName"];
}
我的连接:
global $con ;
$con = new mysqli("localhost", "itunes89", "XXXX","projectanvil") or die("Sorry, were having server connection issues. Please try again later.");
那是一个变量范围问题。你需要通过$conn
to getSiteName()
:
function getSiteName($con) {
$row = $con->query("SELECT * FROM siteinfo")->fetch_array();
return $row["siteName"];
}
$name = getSiteName($con);
或者使用带有构造函数注入的类:
class MyThing
{
protected $con;
public function __construct($con) {
$this->con = $con;
}
public function getSiteName() {
$row = $this->con->query("SELECT * FROM siteinfo")->fetch_array();
return $row["siteName"];
}
}
$obj = new MyThing($con);
$name = $obj->getSiteName();
在整个课程中,您可以使用$this->con
来访问连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)