Помогите разобраться. Ошибку Fatal error: Maximum execution time of 30 seconds exceeded вызывает While вот какой у меня код (часть кода) Код (Text): $sql = "select запрос"; $query = mysql_query($sql); $result = mysql_fetch_array($query); if (mysql_num_rows($query))>0) { while(list($c_id, $c_model,$c_price,$c_name)=$result){ echo "$c_id, $c_model,$c_price,$c_name"; } } в результате имеем массив $result размером N*4 (N - как правило от 1 до 5) который я никак не могу извлечь причем если закоментить while то все последующие запросы выполняются без ошибок. объясние пожалуйста почему while заклинивает. что проверить? что вставить? как исправить?
разумеется, будет прерывание бесконечного цикла через 30 секунд лимита. Вы ведь и не извлекаете из присланной таблицы ничего. mysql_fetch_array($query) - выдаст вам только одну строку из таблицы. Шаблонное решение типа так: PHP: $query = "select запрос"; $result = mysql_query($query); while ($line = mysql_fetch_array($result)) // пока в line выдается очередная строка (не FALSE) { extract($line, EXTR_OVERWRITE); // импортируем массив line[] в переменные - можно и list() и просто обращение к ячейкам массива echo "$c_id $c_model $c_price $c_name<br />"; } mysql_free_result($result); mysql_num_rows() имхо же используется, если предпочтительнее юзать цикл for(;; ) или проверить, есть запись в базе или нет.