在sql数据库中的单个单元格中使用多个值的正确方法是什么。 我正在尝试为访问者跟踪编写代码,这就是我想要跟踪的内容
IP1:index.php
contact.php
sssa.php
IP2:aaduau.php
ssssau.php
等等
我想为一个IP地址插入不同的页面名称。做这个的正确算法是什么?
答案 0 :(得分:1)
我实际建议在表格中使用两列:ip_address
,page_name
。
插入时,你会做类似的事情:
$ip = $_SERVER['REMOTE_ADDR'];
$page = mysql_real_escape_string($_SERVER['REQUEST_URI']);
mysql_query('INSERT INTO logs (ip_address, page_name) VALUES(INET_ATON("' . $ip . '"), "' . $page . '");');
要通过IP提取所有记录,您只需使用:
$results = mysql_query('SELECT page_name FROM logs WHERE ip_address=INET_ATON("' . $ip . '");');
INET_ATON()
用于将IP地址string
转换为网络地址或long
。要转换回来,您可以使用INET_NTOA()
,例如SELECT NTOA(ip_address) AS ip_address FROM logs;
答案 1 :(得分:0)
添加逗号','不带引号将页面名称保存在单个单元格中,并在从数据库中检索数据时使用PHP explode()函数来爆炸字符串。