Странные проблемы с MySQL - PullRequest
0 голосов
/ 01 октября 2010

Итак, я настроил таблицу с помощью браузера запросов MySQL, и теперь я пытаюсь ее заполнить.Но независимо от того, что я делаю, он говорит «успешно создан аккаунт», но в базу данных ничего не добавляется!

У меня есть следующий код:

`

            if($connection)
            {
                $out =
                    "<p>Please wait while we process your request.</p>";

                mysql_select_db(
                    "accounts",
                    $connection
                );

                    // Generate Account Number.
                    $AccountNumber = rand(17000, 904870);

                    // Set Account Values.
                    $GenuineUser = 0;
                    $VerifiedAdvertiser = 0;
                    $DateOfBirth =
                        $_POST["bmoth"] . "/" . $_POST["bday"] . "/" . $_POST["byear"];

                    // MD5 the Account ID.
                    $AccountID = md5($_POST["AccountID"]);
                // Create Advertiser Account.
                mysql_query(
                    "INSERT INTO accounts.advertisers (
                        'Account Number',
                        'Account ID',
                        'First Name',
                        'Last Name',
                        'Date Of Birth',
                        'Email Address',
                        'Phone Number',
                        'Street Address',
                        'City',
                        'Zip Code',
                        'State',
                        'Country',
                        'Genuine User',
                        'Verified Advertiser') VALUES (
                            '".$AccountNumber."',
                            '".$_POST["AccountID"]."',
                            '".$_POST["FirstName"]."',
                            '".$_POST["LastName"]."',
                            '".$DateOfBirth."',
                            '".$_POST["EmailAddress"]."',
                            '".$_POST["PhoneNumber"]."',
                            '".$_POST["StreetAddress"]."',
                            '".$_POST["City"]."',
                            '".$_POST["ZipCode"]."',
                            '".$_POST["State"]."',
                            '".$_POST["Country"]."',
                            '".$GenuineUser."',
                            '".$VerifiedAdvertiser."')
                ");

                // Setup Advertisement Table.


                // Assume account created successfully.
                $out =
                    "<p>Advertiser Account created.</p>";
            }
            else
            {
                die('Oh, @#%#!: ' . mysql_error());
            }
            mysql_close($connection);
        }
        else
        { 
                                    // else, display form. 
                           } ?>

`

Может ли кто-нибудь помочь мне разобраться, пожалуйста?Я был бы признателен за любую помощь.

Спасибо

обновление Итак, мне удалось выяснить, что происходит, благодаря всем вашим советам:) Как оказалось, это не сработало, потому что я использовал пробелы между именами столбцов (т. Е. Идентификатором учетной записи должен быть AccountID).Поэтому я просто удалил пробелы из столбцов таблицы, а также из кода php.

Спасибо всем за помощь!

Ответы [ 3 ]

1 голос
/ 01 октября 2010

В вашем запросе SQL есть ошибка.Вы получаете "Аккаунт создан", потому что вы не проверяете его.

1 голос
/ 01 октября 2010

Вы действительно должны проверять ошибки в вашем запросе. Даже что-то такое простое, как:

mysql_query($query) or die(mysql_error());

Каждый раз, когда вы выполняете функцию mysql, вы должны проверять наличие ошибок или использовать метод перехвата исключений (если используется соответствующий интерфейс, поскольку функции mysql по умолчанию не генерируют исключения).

Может быть, что-то напутает.

Также, как подсказка, sprintf прекрасно работает, если вы пишете запросы.

0 голосов
/ 14 октября 2010

Итак, мне удалось выяснить, что происходит, благодаря всем вашим советам :) Как оказалось, это не сработало, потому что я использовал пробелы между именами столбцов (т.е. идентификатор учетной записи должен быть AccountID).Поэтому я просто удалил пробелы из столбцов таблицы, а также из кода php.

Спасибо всем за помощь!

...