Страница 1 из 1

Инсерт НЕ ASCII данных из Перла...

Добавлено: 2008-05-28 17:12:57
VadeG
Суть проблемы : требуется в поле таблицы поместить значение запросом из скрипта на перле, переменная хранит НЕ ASCII символы... например:

Код: Выделить всё

 $varIP = inet_aton($from_IP);

            $Query = "INSERT INTO traff
            (`unix_time`,`from_IP`,
            `port_from_IP`,
            `to_IP`,
            `port_to_IP`,`protocol`,`bytes`,`paketov`)
             VALUES ('$time_st',
             '$var_IP',
Ессесно, если $from_IP="240.220.220.221" то $varIP будет содержать строчку кракозябр длинной 4 символа.
Скрипт прерывается с ошипкой от мускуля, что типа неправильный синтаксис, ошипка проявляется только на некоторых IP шниках.
Какой тип данных применить и как содержимое $varIP запихнуть в таблицу ??

Re: Инсерт НЕ ASCII данных из Перла...

Добавлено: 2008-05-28 17:18:25
VadeG
только выяснил, что если Ип адресм содержал число 201, что равно коду ' (одиночной кавычки)
то ессено запрос не проходит...
Как пропихнуть его с кавычкой ?

Re: Инсерт НЕ ASCII данных из Перла...

Добавлено: 2008-05-28 21:48:37
hizel
сумбурс, структуру таблицы привели бы
4 символа - 4 байта - 32 бита - размер IP адрес-а
если имеетсе ввиду и в таблице у вас под IP адрес выделено UNSIGNED INT то православно использовать INET_NTOA и INET_ATON из состава мускула
что то типа

Код: Выделить всё

$Query = "INSERT INTO traff(`unix_time`,`from_IP`,`port_from_IP`,`to_IP`,`port_to_IP`,`protocol`,`bytes`,`paketov`)
                           VALUES ('$time_st',INET_ATON('$var_IP'), ....

Re: Инсерт НЕ ASCII данных из Перла...

Добавлено: 2008-05-29 11:41:09
VAdeG
Спасип, встроенная функция inet_aton помогла