Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 警告:mysql\u fetch\u array():提供的参数不是有效的mysql结果资源_Php_Mysql - Fatal编程技术网

Php 警告:mysql\u fetch\u array():提供的参数不是有效的mysql结果资源

Php 警告:mysql\u fetch\u array():提供的参数不是有效的mysql结果资源,php,mysql,Php,Mysql,当我运行下面的php代码时,while循环只运行一次,即使在practice\u calendar\u时间中有多行 $sql = " SELECT * FROM practice_calendar_times; "; $result = mysql_query($sql, $con); if($result){ while($practice = mysql_fetch_array($result)){ //... Prints data from the

当我运行下面的php代码时,while循环只运行一次,即使在practice\u calendar\u时间中有多行

$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\u fetch\u array():在第113行的/rmounts/vol0 nas/yorkweb/webs/fenging/MyWebSite/homecontent.php中提供的参数不是有效的mysql结果资源”

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


关于如何让while循环在表中迭代并停止抱怨,你有什么想法吗?

你有一个疯狂的在$sql的定义中


第一个结果是否正确?

请尝试删除查询中的分号。。 那就


您是否正在更改while循环体中
$result
的值?为什么不将其更改为
if
var\u dump($result)
以确保它仍然是一个资源?

不可以。仍然收到相同的警告消息。分号不相关。这是一个非常可疑的upvote。您是否可以使用mysql\u查询(分号之前)将(mysql\u error())添加到行中,然后查看它是否返回错误。如果是,那是什么?米加,是的,你是对的!!循环相当大,我有一个内部的查询,我甚至没有考虑,这是重新分配$结果。请把你的建议作为答案贴出来,这样我就可以接受。如果你想给出一个向下箭头,请至少贴出原因。是的,我从表格中得到一个结果。我百分之百肯定这不是侥幸。分号应该是sql查询中的有效字符。好的,在这种情况下,您可以添加:echo mysql\u num\u rows($result);在此之前,我们先来看看行数是否真的大于1,如果大于1,那么可能是循环中的某个因素影响了结果。分号是不相关的。这是一次非常可疑的投票。@meagar分号只是一个评论,我想要的是询问信息以便做出回应,当时我仍然无法对问题发表评论
$sql = "SELECT * FROM practice_calendar_times";