PHPが挿入クエリをMySQLに送信すると、次のようになります。
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
「John」、「Mary」、および「Julie」は引用符で囲まれていないため、MySQLは他の列名を参照していると見なします。手っ取り早い解決策は、クエリに引用符を追加することですが、@ tadmanが言うように、このスタイルのクエリを使用するのではなく、代わりに bind_param
変数をクエリに追加します。
ただし、@ Dan Bracukが言うように、あるテーブルから別のテーブルにコピーするだけの場合は、1つのクエリでこれを行うことができます。
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content