我从我的PHP应用程序中收到以下列出的以下警告,我想知道如何解决它:

时间:2011-03-30 02:00:28

标签: php mysql error-handling mysqli

警告:mysqli_fetch_array()要求参数1为mysqli_result,布尔值在第59行的D:\ WebShare \ Students \ Term \ 3Winter \ PHP \ 5335-40 \ RosenthalD \ enterpreferences.php中给出

CODE(第59行以粗体显示,以WHILE:

开头
$query="SELECT NewUsedID FROM zlu_newused  
    WHERE CustomerID=" . $_SESSION['CustomerID2Update'] ;           // Build the query  
    $rs = @mysqli_query ($dbc, $query);                     // Return the Result Set  
    WHILE ($row = mysqli_fetch_array($rs, MYSQLI_ASSOC)) {          // Fetch the data  
        $NewUsedID = $row['NewUsedID'];  
        switch ($NewUsedID) {  
            case 1:   
                    $rdoneworusedChecked1 = "CHECKED" ;  
                break;  
            case 2:  
                    $rdoneworusedChecked2 = "CHECKED" ;  
                break;  
            case 3:  
                    $rdoneworusedChecked3 = "CHECKED" ;  
                break;  
        }  
    }  

3 个答案:

答案 0 :(得分:0)

如我所见,您的查询未成功,请删除 @ debug

答案 1 :(得分:0)

首先,不要使用@运算符,这是一个坏主意。

您的查询可能有错误。类似的东西:

$query="SELECT NewUsedID FROM zlu_newused  
WHERE CustomerID=" . $_SESSION['CustomerID2Update'] ;           // Build the query  
$rs = mysqli_query ($dbc, $query);
if(!$rs){
    print mysqli_error($dbc);
}

将帮助您调试它。

答案 2 :(得分:0)

这可能意味着查询由于某种原因失败了。在这一行:

$rs = @mysqli_query ($dbc, $query);

删除@抑制错误消息:

$rs = mysqli_query ($dbc, $query);

然后重试,看看是否收到错误消息并从那里开始工作。