gpt4 book ai didi

php - 试图在数据库中存储 IP 地址。错误

转载 作者:行者123 更新时间:2023-11-29 03:57:42 25 4
gpt4 key购买 nike

这是我试图用来存储客户端 IP 地址的代码。我试图通过尝试做一些在这个问题中看到的事情来将 IP 地址存储到一个无符号整数:Which MySQL datatype to use for an IP address?

这是我的代码:

$client_ip = $_SERVER['REMOTE_ADDR'];

$ip_insert = "SELECT INET_ATON('$client_ip')";

$sql = "INSERT INTO rtv_sign_cispa (name_cispa,ip_cispa,email_cispa,message_cispa) VALUES ('$name','$ip_insert','$email','$message')";

该语句中还有其他内容被存储,但忽略那些,它们起作用,但 ip 地址不起作用。

错误:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '192.168.2.1')','email@email.com','Hmmmm')' at line 1

near 之后的 ip 地址确实显示了正确的 IP,当然出于安全原因,我只是将其切换为本地 ip。 email@email.com 和 Hmmm 来自为激活此功能而填写的表格,因此请不要介意。

有谁知道我做错了什么?我对 SQL 有点陌生。

最佳答案

你正在这样做:

$sql = "INSERT INTO rtv_sign_cispa (name_cispa,ip_cispa,email_cispa,message_cispa) VALUES ('$name',SELECT INET_ATON('$client_ip'),'$email','$message')";

因为你正在设置:

$ip_insert = "SELECT INET_ATON('$client_ip')";

它必须是:

$ip_insert = "INET_ATON('$client_ip')";

方法是这样的:

$sql = "INSERT INTO rtv_sign_cispa (name_cispa,ip_cispa,email_cispa,message_cispa) VALUES ('$name',INET_ATON('$client_ip'),'$email','$message')";

关于php - 试图在数据库中存储 IP 地址。错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10504346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com