Wenn PHP Ihre Einfügungsabfrage an MySQL sendet, sieht sie am Ende so aus:
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
Da um „John“, „Mary“ und „Julie“ keine Anführungszeichen stehen, geht MySQL davon aus, dass Sie sich auf andere Spaltennamen beziehen. Die schnelle und schmutzige Lösung wäre, Ihrer Abfrage Anführungszeichen hinzuzufügen, aber wie @tadman sagt, sollten Sie niemals diesen Abfragestil verwenden und stattdessen bind_param
um Ihre Variablen zur Abfrage hinzuzufügen.
Wenn Sie jedoch nur von einer Tabelle in eine andere kopieren möchten, wie @Dan Bracuk sagt, können Sie dies mit einer einzigen Abfrage tun:
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content