Эта тема на forum.dklab.ru


gerat: mysql_fetch_array баг
Может я чего-то не понимаю, но тем не менее. Заметил баг самого php.
Есть вот такой запрос:
select SQL_CALC_FOUND_ROWS '4', managers.name, SUM(payments.amount) cnt from payments join users managers on payments.manager_id = managers.id where ( payments.date >= '2011-10-01' ) and ( payments.date <= '2012-04-12' ) group by manager_id order by cnt desc, managers.name
Есть код исполнения(Так для кроткости).
print_r(mysql_fetch_array(mysql_query($cmd)));
Получаем на выходе:
Array
(
[0] => 4
[4] => 4
[5] => Сергей
[name] => Сергей
[6] => 372
[cnt] => 372
)
Баг заключается в том что если в sql-запросе есть статичное числовое поле (в данном примере "4"), то в массиве оно становится ассоциативным ключом, но следующий числовой ключ считается, от этого значения.
Хотя на серваке у меня этот скрипт работает нормально.
Maus:
gerat
это не баг, так заложено в PHP: http://www.php.net/manual/ru/language.types.array.php , пятый пример.
На сервере же может быть неверно настроена локаль, и из-за этого "4" не воспринимается как число.
Maus:
Перенесено из форума: Баги (не-баги Денвера здесь запрещены!) :: Денвер.
Перенесено в форум: Разное :: PHP.

Эта тема на forum.dklab.ru