Почему моя база данных MySQL не работает? - PullRequest
0 голосов
/ 22 марта 2009
$author = $_SESSION['username'];
$subject = $_POST['subject'];
$body = $_POST['body'];
$branched = $_POST['branched'];
$time = time();
$branchedFrom = $_POST['parent'];
$id = $_POST['parent'];
$next = 0;
$previous = 0;
$branchedTo = 0;
mysql_query(
    "INSERT INTO offtopic
    VALUES(
        '',
        '$author',
        '$subject',
        '$body',
        '$time',
        '$next',
        '$previous',
        '$branchedFrom',
        '$branchedTo'
");

Я пробовал это много раз, даже пытался что-то изменить, но это не сохраняет информацию в базу данных. Пустое пространство в начале - это то место, где индекс находится в базе данных. Я уверен, что материал SESSION и POST успешно пройден.

Ответы [ 2 ]

4 голосов
/ 22 марта 2009
"INSERT INTO offtopic VALUES('', '$author', '$subject', '$body', '$time',    '$next', '$previous', '$branchedFrom', '$branchedTo'"

Отсутствует закрытие ‘)’ внутри строки. Получите сообщение об ошибке, используя mysql_error () , и простые синтаксические ошибки, подобные этой, должны быть очевидны.

Также у вас есть SQL-инъекция дыр в безопасности, через которые вы могли бы проехать шину. Вам нужно вызывать mysql_real_escape_string () для каждого строкового значения, которое вы объединяете в строку, или использовать mysqli параметризованных запросов .

1 голос
/ 22 марта 2009

Возможно, это потому, что в вашем запросе отсутствуют поля для вставки

"INSERT INTO offtopic(field1, field2, etc....) VALUES('', '$author', '$subject', '$body', '$time', '$next', '$previous', '$branchedFrom', '$branchedTo'");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...