2014-02-11 157 views
0

我得到以下错误为该特定行,我不知道这里有什么问题。有人可以帮忙吗?警告:mysql_fetch_array():错误

if ($updbS == "Books" || $updbS == "Pens") { 
$querySf = "SELECT SUM(db1) AS stationery FROM db2 WHERE items = '$low'"; 
$resultSf = mysql_query($querySf); 
$rSf = mysql_fetch_array($resultSf); **//Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource...** 
$totalSf = $rSf['stationery']; 
$totTMonth = $totalSf; 
if ($totTMonth==''){ 
    $totTMonth = '0'; 
} 
+3

你[连接](http://us2.php.net/function.mysql-connect)到你的数据库?另外,'mysql_ *'函数已被弃用。相反,您应该考虑*** mysqli ***或*** PDO ***功能。 – War10ck

+2

检查'mysql_error',看起来你的查询失败。另请注意,mysql_ *函数已弃用。使用mysqli或PDO .. –

+0

不要使用mysql_ *。改用PDO或mysqli_ *。 – bjb568

回答

0

mysql_query可能会收到错误并返回false。你应该检查如下:

if ($resultSf === false) { 
    $error = mysql_error(); 
} else { 
    $rSf = mysql_fetch_array($resultSf); **//Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource...** 
    $totalSf = $rSf['stationery']; 
    $totTMonth = $totalSf; 
    if ($totTMonth==''){ 
     $totTMonth = '0'; 
    } 
} 

尽管你应该切换到MySQLi或PDO扩展数据库访问。

+0

谢谢。没有错误。但是当我包含if($ resultSf === false){line它不显示任何错误?这是为什么? – NathaliaZeed

+0

存在错误。我的代码检查是否发生了错误,如果它检测到错误,它将把信息放在'$ error'中。打印它,它会告诉你错误是什么。 – T0xicCode

0

您查询可能不成功。

你在哪里连接到数据库? 如果你var_dump $ resultSf会发生什么?