我收到了错误
connected
`Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given`
我知道这意味着提供的de sql存在问题,但sql很好,我无法打印错误。还有其他方法吗?
我的完整代码:
<?php include "inc/config.php"; ?>
<?php include "inc/funciones.php"; ?>
<?php header('Content-Type: text/html; charset=UTF-8'); ?>
<?php
if(mysql_select_db($db_db2)){
echo "connected<br>";
}
$query = 'SELECT * FROM trabajo limit 5';
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($query);
try {
while($estado = mysql_fetch_assoc($result)){
$query = 'UPDATE trabajo set estadoActual=(SELECT nombreTarea FROM
tareastrabajo where
numeroEntrada = "'.$estado["numeroEntrada"].'"
AND fechaCompletada is not null
order by fechaCompletada DESC limit 1)
where numeroEntrada="'.$estado["numeroEntrada"].'"';
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($query);
}
} catch (Exception $e) {
echo $e->getMessage();
echo "---";
echo mysql_error();
}
?>
正如你所看到的,连接很好,所以没有问题。 我也试过了经典
or die(mysql_error());
但结果相同。
声明: 请避免回答和评论指出mysqli或PDO。 我自己理解这些问题,我们正在迁移它。 与此同时,我们必须处理这个问题。
编辑:谢谢!我是超过$结果。我早上半天浪费了多少蹩脚的方式......答案 0 :(得分:1)
要扩展Jon Stirling的评论,你已经在while循环的第一次迭代中用$result
语句的结果覆盖了UPDATE
变量。
因此,第二次访问条件时会发生错误
while ($estado = mysql_fetch_assoc($result))
来自docs:
对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE。
这个布尔值被传回mysql_fetch_assoc()
导致异常..没有mysql错误。
回应Geoff Atkin的评论.. mysql_fetch_assoc()