0

我知道这个话题已经被打到了地上,但我真的很难过。我不知道为什么会出现意外的 } 错误。

我的问题是我添加到 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

4 回答 4

1

在此处添加分号

mysql_close($con);
于 2011-06-25T05:55:08.207 回答
1

后面需要一个分号mysql_close($con)

您需要在 POST 变量中加上引号 - $_POST['email'] 等等。

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

您需要使用比较而不是赋值(if($ack=="SUCCESS")而不是if($ack="SUCCESS")

花括号是你最不用担心的,真的。

于 2011-06-25T05:57:44.317 回答
0

你错过了;最后一行的一个。

于 2011-06-25T05:54:45.143 回答
0

你可能想放一个;之后

mysql_close($con)

:)

于 2011-06-25T05:56:42.740 回答