Пока цикл не работает - PullRequest
       4

Пока цикл не работает

0 голосов
/ 24 июля 2010
$r = mysql_query ( "SELECT guid FROM characters" );
if (mysql_num_rows($r) != 0) {
    while ( $row == mysql_fetch_array ( $r ) ) {
        $cap = rand ( 0, $char );
        if ($row ['guid'] != $cap) {
            $captain = rand ( 0, $char );
        } 
    }
} else {
    $captain = rand ( 0, $char );
}

Этот код должен вернуть мне указатель, который еще не записан в таблице символов.Первая часть с if работает, но цикл не работает вообще, я попытался добавить печатный «текст»;в нем, но ничего не вернулось.

Ответы [ 3 ]

6 голосов
/ 24 июля 2010

Попробуйте:

while ( $row = mysql_fetch_array ( $r ) )

Вы хотите установить $row равным результату mysql_fetch_array, а не сравнивать его с результатом

3 голосов
/ 24 июля 2010

Вы используете == в вашем цикле while.Вы должны использовать = (оператор присваивания).Также просто примечание, вы должны использовать mysql_fetch_assoc вместо mysql_fetch_array.mysql_fetch_array возвращает в 2 раза больше информации (как числовой, так и ассоциативной версий данных).

2 голосов
/ 24 июля 2010

Вы используете == (сравнение) вместо = (равенство) в цикле while.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...