Php mySQL语法错误
这个SQL查询出了什么问题Php mySQL语法错误,php,mysql,Php,Mysql,这个SQL查询出了什么问题 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'];
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服务器版本对应的手册,以了解在第1行使用“desc”值(“test”、“test”、“test”、“test”、“test”、test、test”)的正确语法
您需要像desc
那样使用反勾号进行转义
INSERT INTO introducebook (name, ..., `desc`) VALUES ...
要传递纯文本,您需要括号,这是正确的
INSERT INTO introducebook (`name`, `author`, `pub`, `sibn`, `year`, `version`, `desc`) VALUES ('{$name}', '{$author}', '{$pub}', '{$sibn}', '{$year}', '{$version}', '{$desc}')
是的,你也需要反勾