我有一个单独的文件,其中包含一个实例化的mysqli
对象,该对象位于名为connect.php
:的root
中名为includes
的文件夹中
$db = new mysqli($host, $user, $password, $dbname);
if ($db -> connect_errno) {
echo $db -> connect_error;
}
我的第一个页面有一个require
,并使用对象$db
来执行一个工作良好的real_escape_string
任务。我在includes
文件夹中也有一个functions.php
。其中有一个名为sendToDB
的函数,它使用query
函数。CCD_ 12还包括CCD_。然而,我收到消息:
致命错误:在非对象上调用成员函数query()。。。
如果我在函数sendToDB
中实例化对象,它就会成功地写入DB。我一把它拿出来,就会收到同样的信息。这是全球性问题吗?还是我最好在需要的地方实例化它?此外,如果在多个页面上使用$db
,在每个页面上使用完$db->close();
后运行它是否安全?
在使用数据库对象的函数(例如sendToDB)的开头,确保您有以下行:
global $db;
为了在函数内部使用全局变量,通常需要它。