MySQLi结果null我第二次使用它

时间:2013-03-10 02:56:35

标签: php mysql mysqli

我正在尝试使用第一个查询的结果运行第二个查询,为刚刚检索到的所有行设置一个标志。我第一次使用我的结果输出JSON时工作正常,但是第二次尝试从中调用fetch_assoc()时,数组返回NULL。

        $result = API::$connection->query($query);

        if (!mysqli_error(API::$connection))
        {
            API::setHeader(200);
            // return json encoded results

                        /// This works just fine, outputs JSON
            echo JSONizer::jsonEncodeSqlResultWithKeys( $result, array (
                                                                'pId',
                                                                'sender',
                                                                'receiver',
                                                                'content',
                                                                'notified',
                                                                'opened',
                                                                'time' ) );

            // initial update query
            $query = 'UPDATE messages
                    SET received=1
                    WHERE ';

            // start by cycling through each pId received and tack each onto query
            $counter = 0;

                            // this never runs because the associated array returns NULL now
            while ($row = mysqli_fetch_assoc($result));
            {
                $pId = $row['pId'];

                // concat query
                $query .= 'pId='.$pId;

                // if there's still more to go, tack on OR
                if ($counter++ != count($result))
                {
                    $query .= ' OR';
                }
                else 
                {
                    $query .= ';';
                }

            }

我在调用fetch_assoc时尝试过对象和程序风格,没有什么区别。我尝试将结果复制到另一个要使用的变量,但也是NULL。为什么这只会工作一次,而不是第二次。

0 个答案:

没有答案