0

我先道歉,这真的很简单,但给我带来了很多烦恼。我只用了一周左右的时间在 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)

?>

我已经尝试了几个选项,他们只是继续输入 Array 作为值??但是当我使用 "?echo $_GET['q'] ?" 在页面上它工作正常并显示值?

我知道这很简单。我真的这样做,但就是无法得到它。

4

3 回答 3

0

你不应该把数组放在''之间,这会使它成为一个字符串。因为数组的字符串值为“Array”,所以它将“Array”存储在数据库中。VALUES('',$referringPage)

于 2012-05-04T10:08:10.473 回答
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!
 }
于 2012-05-04T10:15:08.973 回答
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
}
于 2012-05-04T10:16:34.647 回答