Исходный код
$temp69 = newdbQuery($sql69, $conn->connId) ordie(mysql_error());
$i=""; while($i<=5) { $res69=$temp69->getArray(); $i++; }
$sql69="select * from dj_config";
$temp69= newdbQuery($sql69, $conn->connId) ordie(mysql_error());
$i="";
while($i<=5){
$res69=$temp69->getArray();
$i++;
}
Что не так в этом коде
Мёртвый код.
Код первых двух строк фактически не нужен, так как результаты его работы перезатираются в последующих строках.
Нетипичная инициализация переменной.
Здесь присвоение $i=''
используется в смысле $i=0
, так как последующий код за счёт неявного приведения типа работает с $i
как с числом. Так не нужно строить алгоритмы: всегда прописывай все вещи в явном виде, не полагайся на неявное — это затрудняет понимание кода и поиск ошибок.
Неоптимальный оператор цикла.
В коде применён оператор цикла while
, хотя по структуре цикла лучше использовать for
:
for ($i = 0; $i <= 5; $i++) {
$res69 = $temp69->getArray();
}
Загадочный алгоритм.
В чём смысл чтения строк из таблицы пять раз подряд с затиранием предыдущих строк? Если нужна только пятая строка, то это нужно было провернуть средствами SQL:
$sql69="select * from dj_config offset 4 limit 1";
вот только без order by
это бессмысленно, так как порядок строк при выборке без явной сортировки по умолчанию не определён.
Теория
- Порядок в коде