MySQL(也许是PHP):使用引用主机填充新列

时间:2012-03-01 18:47:48

标签: php mysql sql-update http-referer

我有一张包含请求记录的表。在一个列中有引用者。现在,为了查看哪些域引用了大多数请求,我想在引用主机中添加一个新列。

对于新条目来说没有问题但是如何在没有新行中的条目的情况下更新每一行以从引用者那里获得主机?

在MySQL中有一种简单的方法可以做到这一点,或者我在PHP中如何解决它?

1 个答案:

答案 0 :(得分:0)

$oldRows = mysql_query("SELECT * FROM logs_requests WHERE host_ref = ''");
while($row = mysql_Fetch_array($oldRows))
{
 $host = parse_url($row['url_ref'], PHP_URL_HOST); 
 mysql_query("UPDATE logs_requests SET host_ref='$host' WHERE id='{$row['id']}'");
}

这个php代码获取空host_ref字段的所有行, 然后它需要来自url_ref(www.domain.com/page/34.html)的主持人(www.domain.com)和parse_url功能。 之后,有一个update查询更新主机字段。

注意:根据您的数据库方案自定义此代码。