Загадочный алгоритм и мёртвый код при чтении настроек из БД


Исходный код

$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 это бессмысленно, так как порядок строк при выборке без явной сортировки по умолчанию не определён.

Теория

  • Порядок в коде