2013-12-15 3 views
0

Что не так в этом SQL-запросе?!Ошибка в синтаксисе mySQL

if(isset($_POST['submit'])){ 
    $name = $_POST['name']; 
    $author = $_POST['author']; 
    $pub = $_POST['pub']; 
    $sibn = $_POST['sibn']; 
    $year = $_POST['year']; 
    $version = $_POST['version']; 
    $desc = $_POST['desc']; 

    $selected_db = mysql_select_db("bookstore",$con); 
    $query = "INSERT INTO introducebook (name, author, pub, sibn, year, version, desc) VALUES ('{$name}', '{$author}', '{$pub}', '{$sibn}', {$year}, {$version}, '{$desc}');" ; 
    $result = mysql_query($query,$con); 
    if(!$result){die('could not perform query'.mysql_error());} 
    echo mysql_affected_rows(); 
} 
?> 

ошибка (я прохожу все испытания входы):

У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «desc». VALUES ('test', 'test', 'test', 'test', test, test, 'test') 'в строке 1

ответ

2

Вам нужно бежать reserved words in MySQL как desc с

обратными кавычками
INSERT INTO introducebook (name, ..., `desc`) VALUES ... 
+0

да, это верно ... спасибо U очень ... –

0

передать простой текст вам нужна скобка, то это будет правильно

INSERT INTO introducebook (`name`, `author`, `pub`, `sibn`, `year`, `version`, `desc`) VALUES ('{$name}', '{$author}', '{$pub}', '{$sibn}', '{$year}', '{$version}', '{$desc}') 

и да, вы также должны кавычка.

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