Php 成员函数非对象
我制作了一个简单的mysqli函数包装器,用于连接。当我尝试使用它时,我得到了一个致命的错误Php 成员函数非对象,php,fatal-error,Php,Fatal Error,我制作了一个简单的mysqli函数包装器,用于连接。当我尝试使用它时,我得到了一个致命的错误 "Fatal error: Call to a member function query() on a non-object in /home/cgateams/public_html/home.cga/test.php on line 5" Line 5: $res = $dblink->query("select * from test"); test.php include('incl
"Fatal error: Call to a member function query() on a non-object in /home/cgateams/public_html/home.cga/test.php on line 5"
Line 5: $res = $dblink->query("select * from test");
test.php
include('includes/db/config.php');
$dblink = db_connect();
$res = $dblink->query("select * from test");
while ($res = $row) {
echo $row['test'];
}
config.php
//Database server
$host = 'localhost';
$dbname = 'dbname'; //sanitized data
$dbuser = 'dbuser';
$dbpass = 'dbpass';
// db connect to nm database
function db_connect()
{
global $host, $dbuser, $dbpass, $dbname;
$dbconnect = new mysqli($host, $dbuser, $dbpass, $dbname);
if (!dbconnect)
throw new Exception('Could not connect to CGA database currently');
else
return $dbonnect;
}
在
db\u connect()
函数中,返回$dbonnect
。应该是$dbconnect
您缺少$。应该是:
if (!$dbconnect)
然后在返回值的下一步,您有一个输入错误:
return $dbconnect;
您得到的错误是因为没有返回mysqli对象(因为输入错误)
另外,请注意在mysqli中使用准备好的语句-它们比内联查询功能强大且安全得多,尤其是在传递参数时。config.php中有一个错误:
如果(!dbconnect)
→ <代码>如果(!$dbconnect)接球不错-我错过了第一个。马克:我差点错过了第二个:)