我有一个非常奇怪的问题,使用php将值插入我的mysql数据库,所以我运行的是一个简单的插入测试,最简单的插件;以下不起作用:
<?php
include("config.php"); // put the *FULL* path to the file.
mysql_query("INSERT INTO 'lms'.'test2' ('trn') VALUES ('17')");
?>
然而,以下工作:(注意单引号的差异)
<?php
include("config.php"); // put the *FULL* path to the file.
mysql_query("INSERT INTO `lms`.`test2` (`trn`) VALUES ('17')");
?>
我真的看不出问题是什么我可以获得总和援助
答案 0 :(得分:3)
您不需要在查询中封装表,除非它们有空格或是保留字。
INSERT INTO 'lms'.'test2' ('trn') VALUES ('17')
// This makes no real sense to the db. It should be:
INSERT INTO lms.test2 (trn) VALUES ('17')
如果列trn接受数字,那么它应该是:
INSERT INTO lms.test2 (trn) VALUES (17)
使用MySQL,您可以使用倾斜引用字符来封装名称,但不能封装字符串。要在查询中输入字符串,您必须使用'
等常规引号。
你可以这样:
select `someTable`.`someColumn` from `someTable`
但不是这样:
select someTable.someColumn from someTable where myName=`Tommy`;
正确使用将是:
select someTable.someColumn from someTable where myName='Tommy';