我有一个php我的管理数据库,
我不太知道如何构造它,但是遵循this answer,我做了一个
ip int(11) UNSIGNED
IP的值
我想存储用户的IP,这样他们就不能两次访问我的页面。
我执行以下查询
$ip = inet_pton($_SERVER['REMOTE_ADDR']);
$request = "INSERT INTO `users` (`ip`) VALUES (".$ip.")";
$result = $dbh->query($request);
但是这给了我一个空值。并且不会向数据库添加任何内容
编辑:
用户表
所以完整的请求是:
function getIPforBDD(){
return inet_pton($_SERVER['REMOTE_ADDR']);
}
$request = "INSERT INTO `users` (`ip`, `finish`, `lastPage`) VALUES (".getIPforBDD().", ".$GLOBALS["userHasFinish"].", questionnaire_initial.php)";
$result = $dbh->query($request);
发布于 2018-06-04 16:37:34
使用inet_pton()函数后,数据将不再是可读格式。只需在数据库中为ip列使用varchar(16)数据类型,并将代码的第一行更改为:
$ip = $_SERVER['REMOTE_ADDR'];
发布于 2018-06-04 16:34:00
你能试试这个吗?
$request = "INSERT INTO users (ip) VALUES ('$ip')";
https://stackoverflow.com/questions/50676262
复制相似问题