0

taskstatus を含むテーブル タスクと liststatus を含むテーブルがあり、タスクのステータスに応じて liststatus を更新したいと考えています。すべてのユーザーのタスク ステータスが 0 の場合、リスト ステータスを 0 として更新します。すべてのユーザーのタスク ステータスが 1 の場合、リスト ステータスを 1 として更新します。以下の関数 update クエリが機能しません。理由を教えてください。

   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;}

    }   
4

1 に答える 1

0

更新クエリを実行していますが、どのように mysql_fetch しますか!!!?

これはphp Webサイトからのメモです: 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 を返します。

最初に条件に一致するすべてのレコードを SELECT し、次に主キー フィールドに基づいてそれらを UPDATE する必要があります ...

于 2012-09-20T05:26:09.950 に答える