将SQL数据库连接传递给PHP函数
我正在从第二个PHP文件调用一个函数,我希望避免再次创建DB连接。我正在使用此代码,但它不起作用将SQL数据库连接传递给PHP函数,php,sql,function,reference,connection,Php,Sql,Function,Reference,Connection,我正在从第二个PHP文件调用一个函数,我希望避免再次创建DB连接。我正在使用此代码,但它不起作用 $Db = mysqli_init(); $Db->options(MYSQLI_OPT_LOCAL_INFILE, true); $Db->real_connect($servername, $username, $password, $dbname, 3306); $connection = $Db->real_connect($servername, $username, $
$Db = mysqli_init();
$Db->options(MYSQLI_OPT_LOCAL_INFILE, true);
$Db->real_connect($servername, $username, $password, $dbname, 3306);
$connection = $Db->real_connect($servername, $username, $password, $dbname, 3306);
CheckTableMetrics($connection, $dbname, $table1, $table2, $metric1, $metric2, $date1, $date2, $start_date, $end_date);
我突然发现了错误。如果我将代码的第一部分放在包含函数的PHP文件中,那么一切都可以正常工作
我得到的错误是:
mysqli::query():无效的对象或资源mysqli
及
对非对象调用成员函数fetch_assoc()
如果我将以下内容放在
$Db = mysqli_init();
$Db->options(MYSQLI_OPT_LOCAL_INFILE, true);
$Db->real_connect($servername, $username, $password, $dbname, 3306);
哪种方法最好 您的问题相当简单:
$connection = $Db->real_connect($servername, $username, $password, $dbname, 3306);
这是错误的
real\u connect()
返回标记成功或失败的布尔值,而不是已连接的数据库对象。相反,您应该将$Db
发送到您的函数中,它将全部工作。您的问题相当简单:
$connection = $Db->real_connect($servername, $username, $password, $dbname, 3306);
这是错误的
real\u connect()
返回标记成功或失败的布尔值,而不是已连接的数据库对象。相反,您应该将$Db
发送到您的函数中,它将全部工作。不工作。。我喜欢这样的问题。。我们怎么能神奇地知道它为什么不起作用?打开错误报告并尝试调试代码?!什么是它不起作用
?尝试使用可以为dbConnection创建单例对象。同时检查此文档->请显示功能CheckTableMetrics
以及不起作用。。我喜欢这样的问题。。我们怎么能神奇地知道它为什么不起作用?打开错误报告并尝试调试代码?!什么是它不起作用
?尝试使用可以为dbConnection创建单例对象。同时检查本文档->请同时显示功能CheckTableMetrics
——完全忽略了这一点。太简单了!简单的问题往往是最难发现的:)发现得很好——完全忽略了这一点。太简单了!简单的问题往往最难发现:)