Když PHP odešle váš dotaz na vložení do MySQL, skončí to takto:
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
Protože kolem „John“, „Mary“ a „Julie“ nejsou žádné uvozovky, MySQL si myslí, že odkazujete na názvy jiných sloupců. Rychlým a špinavým řešením by bylo přidat do vašeho dotazu uvozovky, ale jak říká @tadman, neměli byste nikdy používat tento styl dotazu a měli byste místo toho použít bind_param
k přidání vašich proměnných do dotazu.
Pokud však chcete pouze kopírovat z jedné tabulky do druhé, jak říká @Dan Bracuk, můžete to udělat jediným dotazem:
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content