Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SQL数据库连接传递给PHP函数_Php_Sql_Function_Reference_Connection - Fatal编程技术网

将SQL数据库连接传递给PHP函数

将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, $

我正在从第二个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, $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
——完全忽略了这一点。太简单了!简单的问题往往是最难发现的:)发现得很好——完全忽略了这一点。太简单了!简单的问题往往最难发现:)