问题描述
|
我知道这个话题已经被打倒了,但是我真的很沮丧。我不知道为什么会收到意外的}错误。
我的问题是我已添加到Paypal信用卡终端脚本中的代码段。它将表单数据捕获到MySql数据库中,以便我们可以跟踪帐单地址信息等。它一直有效,直到我添加了一个IF语句,该语句仅在Paypal成功捕获卡信息后才将数据发送到MySQL。我想这样做,因为即使表单无法捕获CC信息,它也仍然会成功添加到数据库中。
这是代码。再次起作用,直到我在末尾添加ѭ0和相应的右括号为止。如果卸下支架,则会收到意外的结束错误。
有什么错误?在Notepad ++中,一切看起来都匹配。
if($ack=\"SUCCESS\") {
$con = mysql_connect(\"localhost\",\"dbname\",\"dbpassword\");
if (!$con)
{
die(\'Could not connect: \' . mysql_error());
}
mysql_select_db(\"contributors\",$con);
$sql=\"INSERT INTO contributor_information (service,fname,lname,email,address,city,country,state,zip)
VALUES
(\'$_POST[service]\',\'$_POST[fname]\',\'$_POST[lname]\',\'$_POST[email]\',\'$_POST[address]\',\'$_POST[city]\',\'$_POST[country]\',\'$_POST[state]\',\'$_POST[zip]\')\";
if (!mysql_query($sql,$con))
{
die(\'Error: \' . mysql_error());
}
mysql_close($con)
}
解决方法
mysql_close($con)
之后需要分号。
您需要在POST变量中加引号-$ _POST [\'email \'],依此类推。
您需要通过mysql_real_escape_string运行POST变量。
您需要使用比较而不是赋值(if($ack==\"SUCCESS\")
而不是if($ack=\"SUCCESS\")
)
括号大括号确实是您最省心的事情。
, 在此处添加分号
mysql_close($con);
, 您错过了最后一行的;
。
, 您可能要在之后加上ѭ6
mysql_close($con)
:)