Lorsque PHP envoie votre requête d'insertion à MySQL, elle finit par ressembler à ceci :
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
Parce qu'il n'y a pas de guillemets autour de "John", "Mary" et "Julie", MySQL pense que vous faites référence à d'autres noms de colonnes. La solution rapide et sale serait d'ajouter des guillemets à votre requête, mais comme le dit @tadman, vous ne devriez jamais utiliser ce style de requête et devriez plutôt utiliser bind_param
pour ajouter vos variables à la requête.
Cependant, si tout ce que vous voulez faire est de copier d'une table à une autre, comme le dit @Dan Bracuk, vous pouvez le faire avec une seule requête :
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content