Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL(可能还有PHP):用referer的主机填充一个新列_Php_Mysql_Sql Update_Http Referer - Fatal编程技术网

MySQL(可能还有PHP):用referer的主机填充一个新列

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

我有一个带有请求日志的表。在中有一列有参考者。现在,为了查看哪些域引用了最多的请求,我想添加一个包含引用者主机的新列

这对于新条目来说没有问题,但是如何更新新行中没有条目的每一行,以从引用方获得主机

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

$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方案自定义此代码。

您能给我们一些示例数据库行吗?