我在前面道歉这真的很简单,但让我很烦恼。我只用了一个星期左右的PHP工作,并且真正按需要学习。以下是我目前的问题。我正在尝试提取Google推荐关键字。管理,现在无法理解为什么它不会将值插入dbase表。
// capture referral url
$referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
if ( stristr( $referringPage['host'], 'google.' ) )
{
parse_str( $referringPage['query'], $queryVars );
echo $queryVars['q']; // This is the search term used
}
// general form data insert
$sql="INSERT INTO refer_kws (kwid, keyword)
VALUES('','what value should I have here')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "";
mysql_close($con)
?>
我已经尝试了几个选项,他们只是继续输入数组作为值?但是当我使用“?echo $ _GET ['q']?”在页面上它工作正常并显示值?
我知道这很简单。我真的这么做但却无法得到它。
答案 0 :(得分:0)
你不应该把数组放在''之间,这会使它成为一个字符串。因为数组的字符串值是“Array”,所以它将在数据库中存储“Array”。 VALUES('',$referringPage)
答案 1 :(得分:0)
您应该针对每种类型的网站单独进行查询,因为Google会使用“q”GET
变量中的关键字向您发送客户,并修改表格以添加引荐主机:
$referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
if ( stristr( $referringPage['host'], 'google.' ) ){
parse_str( $referringPage['query'], $queryVars );
// echo $queryVars['q']; // This is the search term used --- no need to print this
$sql="INSERT INTO refer_kws (`kwid`, `host`, `keyword`) VALUES('', $referringPage['host'], $queryVars['q'])";
} else {
$sql="INSERT INTO refer_kws (`kwid`, `host`, `keyword`) VALUES('', $referringPage['host'], '')"; // other type of referrers - you can insert the full REFERRER here!
}
答案 2 :(得分:0)
只需检查以下代码可能会对您有所帮助,该值将被放置。
var_dump($referringPage);
if ( stristr( $referringPage['host'], 'google.' ) )
{
parse_str( $referringPage['query'], $queryVars );
var_dump($queryVars);
echo $queryVars['q']; // This is the search term used
}