2014-01-29 3 views
0

Я работаю над сайтом, чтобы сделать персональные листы DnD для моих друзей и я. Первая часть выполнена, и данные POST-ing правильно, но не будут загружаться на сервер. Я работал над этой проблемой в течение долгого времени и до сих пор не могу понять. Все вещи написаны так же, как сервер, и сервер подключен. Ошибка, которую я получаю с mysqli_error():Синтаксис запроса PHP INSERT

У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашему серверу MySQL на право синтаксиса использовать near'character (идентификатор, имя пользователя, characterName, класс, уровень, раса, выравнивание, божество, си»в строке 1

Я поставил эхо перед тем проблема, чтобы убедиться, что все работает, прежде чем загружены и все работает нормально, но не загрузит $bd подключение и работает, потому что я использую его с другими страницами

Это мой код:..

echo ($id . "<br />"); 
echo ($username . "<br />"); 
echo ($characterName . "<br />"); 
echo ($class . "<br />"); 
echo ($level . "<br />"); 
echo ($race . "<br />"); 
echo ($alignment . "<br />"); 
echo ($deity . "<br />"); 
echo ($size . "<br />"); 
echo ($age . "<br />"); 
echo ($gender . "<br />"); 
echo ($height . "<br />"); 
echo ($weight . "<br />"); 
echo ($eyes . "<br />"); 
echo ($hair . "<br />"); 
echo ($skin . "<br />"); 
echo ($mysql_hostname . "<br />"); 
echo ($mysql_user . "<br />"); 
echo ($mysql_password . "<br />"); 
echo ($mysql_database . "<br />"); 

if(isset($_POST['nc1'])) 

{ 
$query = "INSERT INTO characters (id, username, characterName, class, level, race, alignment, deity, size, age, gender, height, weight, eyes, hair, skin) VALUES ('$id', '$username', '$characterName', '$class', '$level', '$race', '$alignment', '$deity', '$size',  '$age', '$gender', '$height', '$weight', '$eyes', '$hair', '$skin')"; 
mysqli_query($bd,$query) or die('Error: ' . mysqli_error($bd)); 
//header('location:success.php');//Redirect To Success Page 
echo ("success"); 
} 
+1

Вы можете разместить содержание запроса $? – Yani

+0

Спасибо вам большое, я изменил имя таблицы и отлично работает. Я не понимал, что такое ошибка, так что спасибо. – Andrew

ответ

0

В here указано, что ваше имя таблицы character является зарезервированным словом, поэтому вам нужно изменить это, иначе ваш код не будет работать.

3

character - reserved word в mysql. Если вы используете это как имя_таблицы, вы должны указать, что:

$query = "INSERT INTO `character` (`id`, `username`, .... 

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

Смежные вопросы