Php 为什么此插入查询失败?

Php 为什么此插入查询失败?,php,sql,Php,Sql,亲爱的各位, 我有一个名为presentation的表,我要输入值,值得一提的是$com和$sems是comboboxs值,但是查询显示失败,任何人都可以帮助, 提前感谢当您应该使用反勾号时,您正在使用引号: mysql_query(" INSERT INTO `LMS`.`Presentation` ('Pre_Name' ,'Path' ,'PLec_ID' ,'pdatein' ,'pdesc','PSems_ID') values ('$fname','$newna

亲爱的各位, 我有一个名为presentation的表,我要输入值,值得一提的是$com和$sems是comboboxs值,但是查询显示失败,任何人都可以帮助,
提前感谢

当您应该使用反勾号时,您正在使用引号:

mysql_query("
INSERT INTO `LMS`.`Presentation` 
    ('Pre_Name' ,'Path' ,'PLec_ID' ,'pdatein' ,'pdesc','PSems_ID') 
values 
    ('$fname','$newname','$com',NOW(),'$filedesc','$semes')"
) or die("failed");
或者干脆不使用任何特殊字符。只有当你做了一些愚蠢的事情,比如使用保留字作为列名,我希望人们会选择更可读的列名时,反勾号才是必要的

换句话说,对于列来说,date和In以及select都是愚蠢的名称,您应该使用expiry\u date、isInLocation和selectionStatus。

change或diefiled into或diemsql\u error,您将知道原因

>在本例中,如果表没有别名,则无法使用别名。 一切都隐藏在细节上。。
完全忽略了显而易见的事实+1对于快速眼球:@Fluffeh,在你看到它们之前,事情很少是显而易见的。后见之明是80/20的愿景:-更好地使用准备好的语句,防止黑客攻击和逃逸等等。mysql_*函数不再维护,不应该在任何新的代码库中使用。它正逐渐被淘汰,取而代之的是更新的API。相反,您应该与或一起使用。
mysql_query("INSERT INTO `LMS`.`Presentation` (`Pre_Name`, `Path`, ...
mysql_query("

INSERT INTO table
(column1, column2, column3, column4 .... columnX)
VALUES(column1Data,column2Data, column3Data, column4Data ... columnXdata)

") or die(mysql_error());