Php 多个Mysql连接文件导致警告:Mysql\u num\u rows()需要参数1

Php 多个Mysql连接文件导致警告:Mysql\u num\u rows()需要参数1,php,mysql,Php,Mysql,我突然遇到一个非常奇怪的问题 对于一个MySql连接文件,我没有得到任何错误。但当我使用两个或多个连接文件时 <?php require_once('Connections/a.php'); require_once('Connections/b.php'); ?> 我找不出这种警告背后的任何逻辑。连接文件包含典型的mysql连接代码,如 $hostname_y = "localhost"; $database_y = "abc"; $username_y = "cde";

我突然遇到一个非常奇怪的问题

对于一个MySql连接文件,我没有得到任何错误。但当我使用两个或多个连接文件时

<?php 
require_once('Connections/a.php'); 
require_once('Connections/b.php'); 
?>
我找不出这种警告背后的任何逻辑。连接文件包含典型的mysql连接代码,如

$hostname_y = "localhost";
$database_y = "abc";
$username_y = "cde";
$password_y = "efg";
$y = mysql_pconnect($hostname_y, $username_y, $password_y) or trigger_error(mysql_error(),E_USER_ERROR); 
我在这里讨论了许多类似的主题,但我无法在其中任何一个主题中将警告与连接文件联系起来。这真的很奇怪


有什么想法吗?

这意味着
mysql\u query()
返回了false,即它失败了。在查询时检查错误。

是否两次包含同一个连接文件,或者这只是一个示例?@SilentPond-这使问题更清楚。如果不向mysql_uu调用添加显式数据库连接,它将使用最新的连接作为默认连接。我所期望的是,出现故障的查询需要使用第一个文件的连接,而它正在崩溃,因为它实际上是在第二个文件的连接上运行的。您只需将第二个参数添加到查询函数调用中,然后传入正确的数据库连接。@SilentPond-right。查询使用的默认连接是来自第二个连接的连接-它默认为最近打开的连接。因此,需要在第一个文件中使用连接的任何内容都需要明确告知使用该连接,而不是默认连接。@SilentPond-在示例代码中,数据库连接是
$y
。如果调用
mysql\u query($sql,$y)
,则该查询将显式使用该连接。@SilentPond-每次不依赖默认连接时都需要传入该连接-如果从先前的调用中删除该连接,则该连接将失败。默认连接是最近打开的,而不是最近使用的。当我不得不这样做时,我总是传入连接,这样就很清楚哪个调用使用的是哪个连接。我检查了错误,它说,“没有选择数据库”。您的数据库被称为
$database\u y
,但您正在将
$database\u x
传递到
mysql\u select\u db()
我编辑了我的代码。我没有在这里发布实际代码。在替换代码时,这是我无意中犯的错误。在
mysql\u select\u db()
调用中添加一个`or die(mysql\u error())`以查看失败的原因。当然,您应该在每次调用mysql之后检查错误。我们都应该这样做。
$hostname_y = "localhost";
$database_y = "abc";
$username_y = "cde";
$password_y = "efg";
$y = mysql_pconnect($hostname_y, $username_y, $password_y) or trigger_error(mysql_error(),E_USER_ERROR);