PHP Curl抓取脚本不将数据插入DB('语法错误')

时间:2011-02-26 12:46:20

标签: php mysql adsense

我正在开发一个带有curl的PHP脚本,该脚本会记录到Google AdSense中,会抓取一串数据并将其插入数据库。

几乎就在那里。该脚本设置了表格,登录到AdSense就好了,可以回显结果数据。但它并没有将它插入到数据库中,所以我认为这只是80-87行(下面)中一些不良代码的简单情况:

"INSERT INTO $DB_TABLE (
`id`, `earnings`, `gmt-plus-one`, `gmt-minus-eight`
) VALUES (
NULL, '"
. mysql_real_escape_string( $earnings ) . "', '"
. mysql_real_escape_string( $gmtPlusOne ) . "', '"
. mysql_real_escape_string( $gmtMinusEight ) . "' );" )
or die( mysql_error() );

整个代码:http://cl.ly/4rH0

热烈欢迎任何帮助。很抱歉这是一个新手。

2 个答案:

答案 0 :(得分:0)

@Keith Mander:试试

"INSERT INTO $DB_TABLE (
`earnings`, `gmt-plus-one`, `gmt-minus-eight`
) VALUES ('"
. mysql_real_escape_string( $earnings ) . "', '"
. mysql_real_escape_string( $gmtPlusOne ) . "', '"
. mysql_real_escape_string( $gmtMinusEight ) . "' );" )
or die( mysql_error() );

答案 1 :(得分:0)

http://cl.ly/4rH0/adsense_earnings2.php的完整脚本中可以看出$DB_TABLE不存在。它最初被定义为常量,这就是SQL查询失败的原因。

您必须将其重写为:

  mysql_query(
         "INSERT INTO " . DB_TABLE . " (
                 `id`, `earnings`, `gmt-plus-one`, `gmt-minus-eight`
                 ) VALUES (
                 NULL, '"
                 . mysql_real_escape_string( $earnings ) . "', '"
                 . mysql_real_escape_string( $gmtPlusOne ) . "', '"
                 . mysql_real_escape_string( $gmtMinusEight ) . "' );" )
          or die( mysql_error() );

Unreleated note:mysql_函数真的很麻烦。您应该考虑转移到PDO和准备好的语句,这将在查询之上压缩很多。