PHP MySQL: INET_ATON не сохраняет данные?
Я пытаюсь сохранить IP-адреса в моей базе данных, и я использую INET_ATON
как показано ниже,
$sql = "
INSERT INTO pin (
page_id,
user_id,
pc_name,
ip,
geolocation,
created_on
)VALUES(
?,
?,
?,
?,
?,
NOW()
)";
$result = $this->connection->executeSQL($sql,array(
$this->page_id,
$this->user_id,
$this->getComputerName(),
'INET_ATON("123.136.106.104")',
$this->getGeoLocation()
));
Но я не могу его преобразовать или сохранить в ip
поле в БД. я получил 0
вместо числа.
Что я должен делать? Что я сделал неправильно с SQL?
1 ответ
Ваша проблема не в функции INET_ATON, а в том, как PDO (я предполагаю, что это PDO) интерпретирует связанный параметр. Вместо этого вы можете действовать так:
$sql = "
INSERT INTO pin (
page_id,
user_id,
pc_name,
ip,
geolocation,
created_on
)VALUES(
?,
?,
INET_ATON(?),
?,
?,
NOW()
)";
и передайте свой IP:
$result = $this->connection->executeSQL($sql,array(
$this->page_id,
$this->user_id,
$this->getComputerName(),
"123.136.106.104",
$this->getGeoLocation()
));