2010-07-24 4 views
0
$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 работает, но цикл вообще не работает, я попытался добавить «текст» печати; в нем, но он ничего не возвращал.В то время как петля не работает

ответ

6

Try:

while ($row = mysql_fetch_array ($r)) 

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

2

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

3

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