Есть код, вида Код (Text): $ip = ip2long(тут_айпи); Есть код работы с базой данных http://phpfaq.ru/safemysql , которым я делают INSERT в базу. Документация говорит, что " Ввиду того, что тип PHP integer является знаковым, и на 32-битных системах многие IP-адреса будут представлены в виде отрицательных чисел, необходимо использовать "%u" в функции sprintf() или printf() для получения IP-адреса в строковом беззнаковом виде. " Т.е. ip2long возвращает signed Int. Но MYSQL по каким-то причинам требует указывать UNSIGNED int, иначе mismatch.
ну вот они и предлагают преобразовывать перед сохранением через printf("%u\n". Если система 32 битная это древнее что то. Используйте подготовленные запросы, pdo тип столбца наверное такой
@zer0day в PHP нет типа unsigned, поэтому всё что ты можешь — это получить текстовое представление "как если бы это число было беззнаковым". Об этом и написано в цитируемом тексте. Делай как предлагают и будет тебе счастье.
Сколько вмещает int в вашей системе. echo(PHP_INT_MAX); В моей 9223372036854775807 поэтому ip2long формирует число, которое выше диапазона int signed базы данных. По всей видимости на 32 разрядной архитектуре будут отрицательные значения, которые помещаются signed.
Добрый день! Адреса IPv4 и IPv6 можно так сохранять и выбирать из MYSQL: Создайте в таблице поле ip type varbinary(16) Код (Text): INSERT INTO `test` (`ip`) VALUES (INET6_ATON('127.0.0.1')) -> 0x7f000001 SELECT INET6_NTOA(ip) FROM `test` -> 127.0.0.1 INSERT INTO `test` (`ip`) VALUES (INET6_ATON('2001:db8:3333:4444:5555:6666:7777:8888')) -> 0x20010db8333344445555666677778888 SELECT INET6_NTOA(ip) FROM `test` -> 2001:db8:3333:4444:5555:6666:7777:8888 Удачи!
Hi Jessica, the question is completely off topic, but jetlement has no right to ignore the lady’s question. Лично у меня нет преподчений между PHP и JavaScript. Оба языка необходимио хорошо знать и применять при разработке Вебприложений. Основное отличие этих языков в предназначение и среде исполнения. PHP исполняется на серверах и предназначен для взамодействия с различными серверными приложениями, например, СУБД, а JavaScript исполпяется на стороне клиента в браузерах и позволяет организовать интерфейс пользователя т.е. обработку событий, например, нажатие на клавиатуру или клик мышки и.т.п. Good luck!