4

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')");

?>

私は本当に問題が何であるかを見ることができません私は合計援助を得ることができますか?

4

1 に答える 1

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';
于 2012-08-02T12:12:52.770 に答える