0

私はphpを学んでいる初心者ですが、ここに奇妙な問題があります。

int(1) (主キー、自動インクリメント) という 1 つの列しかない order という名前のテーブルを作成しました (以前はより多くの列がありました。構造を変更しましたが、それは問題でしょうか?)

次を使用してデータを挿入しようとすると:

$db=mysql_connect('localhost','root','');
mysql_select_db('workroom',$db);
$sql = "insert into abc values (null)";
mysql_query($sql,$db);

データベースには何も起こりませんでした。

しかし、テーブル名「order」を「abc」(または他の名前に変更し、$sql を更新) に変更すると、挿入機能が機能します。

誰でも私を助けることができますか?どうもありがとう。

再度、感謝します、

ショーン

4

3 に答える 3

2

私はまだPHPに非常に慣れていませんが、注文はMySQLのコマンドだと思います。したがって、このエラーを回避するには、TableName の前後に `` を含めるか、テーブル名を変更する必要があります。

これはあなたのために働くかもしれません。

$sql = "INSERT INTO `TableName` (value1, value2, value3) VALUES ('value1', 'value2', 'value3')";

参考までに、``キーはキーボードの「タブ」キーの上にあります。

于 2012-07-15T14:59:41.163 に答える
1

単純に「順序」を使用する代わりに、使用するテーブルにバックティックを使用して、MySQL が予約語ではなくテーブルとして認識できるようにする必要があります。

$sql = "INSERT INTO `order` VALUES...";
于 2012-07-15T15:02:56.387 に答える
0

予約語であるため、テーブル名の順序を使用しないでください。順序を使用する場合は、単に引用符を追加できます ``

$sql = "INSERT INTO `order` values(Your data);
于 2012-07-15T15:05:50.707 に答える