Неожиданная закрывающая фигурная скобка} ошибка - PullRequest
0 голосов
/ 25 июня 2011

Я знаю, что эта тема была выбита, но я действительно в тупике.Я не могу понять, почему я получаю неожиданную ошибку}

Моя проблема связана с фрагментом кода, который я добавил в скрипт терминала для кредитной карты Paypal.Он собирает данные формы в базу данных MySql, поэтому мы можем отслеживать информацию об адресах выставления счетов и т. Д. Он работает до тех пор, пока я не добавлю оператор IF, который должен отправлять данные в MySQL только в том случае, если Paypal успешно захватит информацию о карте.Я хочу сделать это таким образом, потому что даже если форма не в состоянии захватить информацию 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 ]

1 голос
/ 25 июня 2011

Вам нужна точка с запятой после mysql_close($con).

Вам нужны кавычки в ваших переменных POST - $ _POST ['email'] и так далее.

Вам необходимо запустить переменные POST через mysql_real_escape_string.

Вам нужно использовать сравнение вместо назначения (if($ack=="SUCCESS") вместо if($ack="SUCCESS"))

На самом деле фигурные скобки - это наименьшее из ваших беспокойств.

1 голос
/ 25 июня 2011

добавьте точку с запятой здесь

mysql_close($con);
0 голосов
/ 25 июня 2011

Возможно, вы захотите поставить ; после

mysql_close($con)

:)

0 голосов
/ 25 июня 2011

Вы пропустили ; из последней строки.

...