ANDLL писал(а):Так 64-битный PHP, он как бе вообще никакого отношения к MySQL не имеет...
Из темы про "падучесть" MyISAM на ровном месте
Ты наверное меня перепутал с каким нибудь
Хакером
Меня падучесть MyISAM никогда не волновала.
Не. Погоди. По полочкам:
MySQL тут вообще нигде ни при чём. Кроме, разве что, её inet_ntoa и inet_aton, которые ВСЕГДА выдают unsigned 32bit int вне зависимости от условий.
"При чём" тут пыхыпэ.
1) На 32бит системе(всё-таки похоже железо, а не ОС, иначе я вообще не вижу закономерности) PHP выдаёт отрицательные значения для ИП больше 128.0.0.0. Если это значение попытаться записать в таблицу mysql возможны два варианта:
а) поле int signed - запишется отрицательное число, и всё будет работать, но не будут работать "родные" inet_ntoa, inet_aton в запросах.
б) поле int unsigned - запишется 0 для любого IP старше 128.0.0.0.
2) На 64бит системе - PHP выдаёт положительные числа, int - 64битный, всё работает, всё ок.
При этом если не использовать ip2long, а юзать только mysql inet_aton / inet_ntoa проблем не возникнет ни там ни там и всё везде будет работать одинаково. Именно поэтому я и советую использовать именно эти функции, а не пыхыпэшное ip2long.
А с Хакером я тебя не путал, там речь шла про какой-то очередной глюк форума, Хакер сказал, что на ровном месте побилась одна из табличек, а следующий пост был твоим - из разряда "записать себе никогда не использовать мускул".