由于“引号”的不同,数据未插入到mysql数据库中

时间:2012-08-02 12:08:45

标签: php mysql

我有一个非常奇怪的问题,使用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')");

?>

我真的看不出问题是什么我可以获得总和援助

1 个答案:

答案 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';