Таким образом, это - вероятно, немой вопрос о новичке, но я смотрел на него и не могу понять это. Немного фона: просто практикуя создание веб-приложения, форма на странице 1 берет в некоторых значениях от пользователя, сообщения их к следующей странице, которая содержит код, чтобы соединиться с DB и заполнить соответствующие таблицы.
Я устанавливаю соединение с БД успешно, вот код, который содержит запрос:
$conn->query("SET NAMES 'utf9'");
$query_str = "INSERT INTO 'qa'.'users' ('id', 'user_name','password' ,'email' ,'dob' ,'sx') VALUES (NULL, $username, $password, $email, $dob, $sx);";
$result = @$conn->query($query_str);
Вот ошибка, которая является отказавшим запросом returned:Insert: у Вас есть ошибка в Вашем синтаксисе SQL; проверьте руководство, которое соответствует Вашей серверной версии MySQL для правильного синтаксиса для использования близких ''быстродействующих'.'users' ('идентификатор', 'user_name', 'пароль', 'электронная почта', 'д.р.'', в строке 1
Заранее спасибо!
Если ничего не изменилось с тех пор, как я занимался MySQL в PHP, завершайте имена db/столбцов/таблиц обратными знаками (`), а не апострофами (').
Вам нужно экранировать имена столбцов обратной кавычкой (`) вместо (')
Вам также необходимо правильно экранировать фактические значения, которые вы вставляете (используйте одинарные кавычки)
{{1 }}Боже мой, ни один правильный ответ
$query_str = "
INSERT INTO `qa`.`users` (`id`, `user_name`,`password` ,`email` ,`dob` ,`sx`)
VALUES (NULL, '$username', '$password', '$email', '$dob', '$sx')";
идентификаторы не цитируются обратными кавычками, в то время как строки цитируются апострофами!
, и я надеюсь, что вы передали все свои переменные через строку mysql_real_escape ПЕРЕД тем, как поместить ее в запрос, например: [
$username = mysql_real_escape string($username);
] и так далее
Хороший общий метод устранения неполадок - заставить запрос работать через другой интерфейс к базе данных. Например, phpMyAdmin. Если он работает там, у вас есть уверенность в дальнейшем. Или вы можете найти, как исправить ваш SQL. (phpMyAdmin удобен тем, что он преобразует ваш SQL в готовую строку для PHP)
.