Я не могу понять, как и почему моя команда mysql_query останавливает выполнение. Есть два массива я работаю с:PHP + MySQL внезапно останавливает запрос
- routersTree (включает в себя около 100 строк)
- даты (включает в себя около 30 клеток)
Вот код:
while ($i <= count($routerTree)){
$currentRouter = $routerTree["router_$i"];
echo "<td>$i</td>";
for ($j = 0; $j < count($dates); $j++) {
$sql = "SELECT indications.id_device FROM indications LEFT JOIN routers ON indications.id_device = routers.id_device WHERE routers.id_router = $currentRouter[id_router] AND date(indications.dateField) = '$dates[$j]' ORDER BY routers.id_device";
if ($res = mysql_num_rows(mysql_query($sql))) {
echo "<td>$res</td>";
}
else {
echo "<td>error</td>";
}
}
}
Он останавливает мой цикл после 18-го ряда, но есть еще около 82 циклов. Я предполагаю, что существует небольшой тайм-аут для команды mysql_query. Любая помощь была бы оценена.
НИКОГДА не связывайтесь с такими базами данных. Вы просто считаете, что ничто не может пойти не так, как раз, и это НЕПРАВИЛЬНОЕ отношение. даже если ваш синтаксис sql на 100% безупречен, существует буквально бесконечное количество других причин возникновения сбоев. всегда проверяйте успех/неудачу при вызове EVERY db. если запрос завершается с ошибкой, он возвращает логическое значение false для num строк, что также не выполняется. –
Распечатайте запрос, а также номер строки, когда вы увидите ошибку, вам будет предоставлен SQL-код, который он использует, вы должны выяснить, что вызывает ошибку. – psycotik
@MarcB Я сделал оператор if, чтобы проверить, является ли результат истинным, но все еще имеет ту же проблему :(Или, может быть, я неправильно понимаю вас. – JEYCDEE