2010-06-29 3 views
0

Я использовал свой сервер для тестирования PHP & MySQL приложений давно.MySQL возвращает {first row} из результата запроса!

Внезапно, Когда я пытаюсь выполнить любой запрос в любой таблице в любой базе данных, я получаю только первую строку в результате запроса!

Я проверил файл конфигурации и не увидел там ничего странного.

ОС: Linux/Ubuntu 10.04 64bit Server Edition, Web Server: Apache/2.2.14, MySQL Client: 5.1.41, MySQL Server: 5.1.41-3ubuntu12.3 (Ubuntu)

И я уверен, что в моем PHP-коде нет ошибок, пока , когда я использую phpMyAdmin, я получаю все строки нормально!.

Где должна быть проблема?

+7

Хотите показать нам код в любом случае? На всякий случай? –

+0

+1, пожалуйста, пожалуйста, и что возвращает mysql_num_rows()? – user375700

+4

>> И, я уверен, что в моем PHP-коде нет ошибки, но когда я использую phpMyAdmin, я получаю все строки нормально! Мне нравится эта строка – iBiryukov

ответ

7

Это поможет, если вы разместите свой код, но я предполагаю, что ваш код не имеет цикла, который извлекает каждую строку.

<?php 

$Result = mysql_query($Query); 

while($Row = mysql_fetch_assoc($Result)) //keep going while there are more rows 
{ 
    print_r($Row); 
} 

mysql_fetch_accoc и mysql_fetch_array функции возвращают только одну строку за один раз (последовательно), так что вы должны запустить их для каждой строки.

+1

+1 Я печатал аналогичный ответ. Это было бы моим первым предположением, не видя кода. –

+0

.. будет ли цикл while закончен, когда выборка вернет все строки? Я имею в виду ... если mysql_num_rows ($ result) возвращает 4, цикл while будет выполняться 4 раза или бесконечно? – Hristo

+0

mysql_fetch_accoc вернет FALSE, когда больше строк не будет. Таким образом, цикл будет продолжаться до тех пор, пока он не прочитает 4 строки (в данном случае), а затем закончится. http://php.net/manual/en/function.mysql-fetch-assoc.php – Kewley

6

Задача : с вашим кодом. Вы только что сказали нам, что phpMyAdmin возвращается с MySql в порядке, так что сервер MySql не является проблемой и не является частью настройки PHP-сервера.

Ваш код является неправильным, вы, вероятно, имеете (внутри вашего супер конфиденциального и совершенного кода) лимит 1 в своем хранилище или захватываете строки неправильно, потому что вы не знаете, как работают функции mysql_fetch.

Продвиньте меня, потому что я рывок рывком, но что угодно.

Смежные вопросы