我有一个非常奇怪的问题,使用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')");
?>
我真的看不出问题是什么我可以得到总和援助
解决方法:
您不需要在查询中封装表,除非它们有空格或者它们是保留字.
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';