MySQL(可能还有PHP):用referer的主机填充一个新列
我有一个带有请求日志的表。在中有一列有参考者。现在,为了查看哪些域引用了最多的请求,我想添加一个包含引用者主机的新列 这对于新条目来说没有问题,但是如何更新新行中没有条目的每一行,以从引用方获得主机 有没有一种简单的方法可以在MySQL中实现这一点,或者我如何在PHP中解决它MySQL(可能还有PHP):用referer的主机填充一个新列,php,mysql,sql-update,http-referer,Php,Mysql,Sql Update,Http Referer,我有一个带有请求日志的表。在中有一列有参考者。现在,为了查看哪些域引用了最多的请求,我想添加一个包含引用者主机的新列 这对于新条目来说没有问题,但是如何更新新行中没有条目的每一行,以从引用方获得主机 有没有一种简单的方法可以在MySQL中实现这一点,或者我如何在PHP中解决它 $oldRows = mysql_query("SELECT * FROM logs_requests WHERE host_ref = ''"); while($row = mysql_Fetch_array($oldR
$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字段获取所有行,
然后使用parse_url函数从url_ref www.domain.com/page/34.html获取主机www.domain.com。
之后,有一个更新查询更新主机字段
注意:根据您的db方案自定义此代码。您能给我们一些示例数据库行吗?