我正在尝试设置一个非常简单的电子邮件跟踪像素...事实证明它不像我原先预期的那么简单。
我的服务器正在运行linux和mysql v.5.1.65
<?php
$username = '*******';
$db_password = '*******';
$database = '*******';
$IP = $_SERVER['REMOTE_ADDR'];
$CAMPAIGN = $_GET['MID'];
mysql_connect('localhost',$username,$db_password);
@mysql_select_db($database) or die( "Unable to select database");
mysql_query("INSERT INTO email_table VALUES ('$CAMPAIGN', '$IP',)") or die(mysql_error() );
mysql_close();
exit;
?>
我得到了: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的')'附近使用正确的语法
答案 0 :(得分:2)
最后你似乎有一个额外的逗号:
INSERT INTO email_table VALUES ('$CAMPAIGN', '$IP',)
尝试:
INSERT INTO email_table VALUES ('$CAMPAIGN', '$IP')
顺便说一句,我不会过多地判断您的代码,但通过IP跟踪人员并不是非常可靠。例如,公司防火墙后面的很多企业流量都可以使用相同的IP地址。
此外,$CAMPAIGN
似乎来自HTTP帖子,如果您不是parameterizing your SQL,这可能是一个安全问题。