我正在开发一个带有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
热烈欢迎任何帮助。很抱歉这是一个新手。
答案 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和准备好的语句,这将在查询之上压缩很多。