一尘不染

警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源

mysql

当我运行以下php代码时,即使Practice_calendar_times中有多行,while循环也只会运行一次。

$sql = "
    SELECT * FROM practice_calendar_times;
    ";
$result = mysql_query($sql, $con);
if($result){
    while($practice = mysql_fetch_array($result)){
        //... Prints data from the row + more ...
    }
}

在网页上,我收到一条打印的警告消息:“警告:mysql_fetch_array():提供的参数不是/rmounts/vol0-nas/yorkweb/webs/fencing/MyWebSite/homecontent.php在第113行上的有效MySQL结果资源”

第113行是while循环。我查了一下,显然这通常是由mysql查询的语法错误引起的。但是,这里不是这种情况。mysql正确地从数据库中提取了第一行,而while循环运行了一次。如果我将一会儿替换为一个不抱怨的会并打印出一行。我还尝试删除了Practice_calendar_times中除一行以外的所有内容,但仍收到警告消息。但是,当我删除所有行时,它不会显示警告。

关于如何使while循环遍历表并停止抱怨的任何想法?


阅读 268

收藏
2020-05-17

共1个答案

一尘不染

您是否正在更改$resultwhile循环主体中的值?为什么不将其更改为an ifvar_dump($result)然后再确保它仍然是资源呢?

2020-05-17