意外关闭大括号}错误

时间:2011-06-25 05:51:51

标签: php mysql braces

我知道这个话题被打败了,但我真的很难过。我无法弄清楚为什么我会出现意外}错误。

我的问题是我添加到Paypal信用卡终端脚本的代码段。它将表单数据捕获到MySql数据库中,以便我们可以跟踪计费地址信息等。直到我添加一个IF语句,该语句应该只在Paypal成功捕获卡信息时才将数据发送到MySQL。我想这样做,因为即使表单无法捕获CC信息,它仍然会被添加到数据库中,就像它成功一样。

这是代码。同样,它一直有效,直到我在末尾添加if($ack="SUCCESS") {和相应的右括号。如果我删除括号,我会收到意外的结束错误。

错误是什么?在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)
}

4 个答案:

答案 0 :(得分:1)

在这里添加分号

mysql_close($con);

答案 1 :(得分:1)

mysql_close($con)之后你需要一个分号。

你需要POST变量中的引号 - $ _POST ['email']等等。

您需要通过mysql_real_escape_string运行POST变量。

您需要使用比较而非分配(if($ack=="SUCCESS")而不是if($ack="SUCCESS")

实际上,你最担心的是大括号。

答案 2 :(得分:0)

你错过了最后一行的;

答案 3 :(得分:0)

您可能希望在{/ 1}之后放置

;

:)