这个论坛和php的新手,所以请放轻松。
我有一个 php 脚本,它处理来自数据库中多个 mysql 表的数据。我的所有其他查询都运行良好,但由于某种原因,只要条件为真以到达 mysql_fetch_array() 命令,这个查询就会引发错误。我一直试图找出这个查询与所有其他查询有何不同,但没有取得任何成功。
是否有人在以下代码段中看到任何可能导致以下错误的内容?
$errorFlag = 0;
$result = 0;
$counter = 0;
$sql = "SELECT * FROM Data WHERE Last_Update < DATE_ADD(NOW(), interval -1 MINUTE)";
while (!$result && $errorFlag == 0) {
$result = mysql_query($sql);
$counter = $counter + 1;
if ($counter > 30) {
$errorFlag = 1;
}
}
if ($errorFlag == 1) {
echo "#E01,".$counter.",".mysql_errno().":".mysql_error()."!";
}
if ($errorFlag == 0 && mysql_num_rows($result) > 0) {
while(errorFlag == 0 && $row = mysql_fetch_array($result)) {
if ($row['Last_Update_Alarm'] == 0) {
$sql = "UPDATE $tbl_name SET Last_Update_Alarm='1', Status_Time='0' WHERE Machine_ID='$row[Machine_ID]'";
$counter = 0;
$result = 0;
while ($result == 0 && $errorFlag == 0) {
$result = mysql_query($sql);
$counter = $counter + 1;
if ($counter > 30) {
$errorFlag = 1;
}
}
}
}
}
这是我得到的错误代码:
警告:mysql_fetch_array():提供的参数不是第 33 行 D:...\test.php 中的有效 MySQL 结果资源
第 33 行对应于带有 fetch 命令的行。我检查了查询后的资源类型和行数,两者都符合预期。
谢谢!斯科特