Sqlite>具有多个值的单列

时间:2012-07-21 05:07:47

标签: php sqlite

在sql数据库中的单个单元格中使用多个值的正确方法是什么。 我正在尝试为访问者跟踪编写代码,这就是我想要跟踪的内容

IP1:index.php
     contact.php
     sssa.php
IP2:aaduau.php
     ssssau.php
等等

我想为一个IP地址插入不同的页面名称。做这个的正确算法是什么?

2 个答案:

答案 0 :(得分:1)

我实际建议在表格中使用两列:ip_addresspage_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()函数来爆炸字符串。