这是我想用来存储客户端的IP地址的代码。我试图在IP地址存储到一个unsigned int,试图通过做在这个问题上看到的东西:Which MySQL datatype to use for an IP address?试图在数据库中存储IP地址。 SQL错误
这里是我的代码:
$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 protected]','Hmmmm')' at line 1
IP地址后不久事实上确实显示正确的IP,我只是把它切换到本地IP的,当然安全原因。 [email protected]和嗯是从一个表格填写来激活这个,所以不介意。
有谁知道我在做什么错?我对SQL很陌生。
您是否尝试过打印出您的代码正在生成的SQL,并将其直接粘贴到数据库中以查看会发生什么? – andrewsi
您有一个SQL注入漏洞。 – SLaks
@SLaks在哪里?我是一名初学者,因此在尝试确保安全时我真的不知道要寻找什么。 – ComputerLocus