这个论坛和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():提供的参数不是D中的有效MySQL结果资源:第33行的... \ test.php
第33行对应于带有fetch命令的行。我检查了资源类型和查询后的行数,两者都是预期的。
谢谢! 斯科特