我有一个带有taskstatus的表任务和带有liststatus的表,我想根据任务状态更新liststatus。如果所有用户的任务状态为0,则将列表状态更新为0,如果所有用户的任务状态为1,则更新列表状态为1.如果功能更新查询不起作用,请告诉我原因。
public function setcompletedtask($taskid, $taskstatus)
{
$result = mysql_query("UPDATE task SET taskstatus = '$taskstatus' WHERE taskid = '$taskid'");
$y = mysql_affected_rows();
for($i=0;$i<$y ;$i++)
{
$result=mysql_fetch_array($result);
$taskidupdate = $result['taskid'];
$resultselect = mysql_query("SELECT * FROM task WHERE taskid = '$taskidupdate'");
//$no_of_rows = mysql_num_rows($resultselect);
//if ($no_of_rows > 0) {
$resultselect = mysql_fetch_array($resultselect);
$resultlistid = $resultselect['listid'];
$resulttaskstatus = $resultselect['taskstatus'];
$resultupdate = mysql_query("UPDATE list SET liststatus = '$resulttaskstatus' WHERE listid = '$resultlistid'");
//$resultupdate = mysql_fetch_array($resultupdate);
}
if ($resultupdate){return true;} else {return false;}
}
答案 0 :(得分:0)
你正在做一个更新查询,你想怎么想mysql_fetch !!!?
这是php网站上的一条说明: http://php.net/manual/en/function.mysql-query.php
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()会在成功时返回资源,或者在出错时返回FALSE。
对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE。
您应首先选择符合条件的所有记录,然后根据其主键字段对其进行更新...