2014-04-26 21 views
-1

我突然遇到一个非常奇怪的问题。多个Mysql连接文件导致警告:mysql_num_rows()期望参数1

使用单个MySql连接文件我没有错误。但是当我使用两个或多个连接文件,比如,

<?php 
require_once('Connections/a.php'); 
require_once('Connections/b.php'); 
?> 

我得到下面的示例代码,一个警告类似

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/user/public_html/mydirectory/test.php on line 150

。我已经指出了行号150是下面的代码。

$maxRows_test = 5; 
$pageNum_test = 0; 
if (isset($_GET['pageNum_test'])) { 
    $pageNum_test = $_GET['pageNum_test']; 
} 
$startRow_test = $pageNum_test * $maxRows_test; 

mysql_select_db($database_y, $y); 
$query_test = "SELECT mytable.id, mytable.title FROM mytable WHERE mytable.id >=1"; 
$query_limit_test = sprintf("%s LIMIT %d, %d", $query_test, $startRow_test, $maxRows_test); 
$test = mysql_query($query_limit_test, $y) or die(mysql_error()); 
$row_test = mysql_fetch_assoc($test); 

if (isset($_GET['totalRows_test'])) { 
    $totalRows_test = $_GET['totalRows_test']; 
} else { 
    $all_test = mysql_query($query_test); 
    $totalRows_test = mysql_num_rows($all_test); //////////---->>>>>> Line 150 
} 
$totalPages_test = ceil($totalRows_test/$maxRows_test)-1; 

我找不到这种警告背后的逻辑。连接文件中包含典型的连接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); 

我经历了很多类似的话题又在这里,但我可以不涉及与连接文件警告莫名其妙地在任何的许多主题。这真的很奇怪。

有什么想法?

+0

你是否包含相同的连接文件两次,或者仅仅是一个例子? – andrewsi

+0

@andrewsi我不知道是谁做的,但有两个单独的连接文件。我编辑了我的帖子。 –

+0

@John Conde,我别无选择。如果你从上到下仔细阅读我的问题,你当然会意识到标题可能是重复的,但问题的原因是独特而奇怪的。 –

回答

1

这意味着mysql_query()已返回false,即它已失败。查询时检查错误。

+0

我检查了错误,它说,“没有选择数据库” –

+0

你的数据库被称为'$ database_y',但你正在将'$ database_x'传递给'mysql_select_db()' – MrZebra

+0

我编辑了我的代码。我不会在这里发布实际的代码。代替代码时,这是我不愿意犯的错误。 –

相关问题