När PHP skickar din infogningsfråga till MySQL, slutar den med att se ut så här:
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
Eftersom det inte finns några citattecken kring "John", "Mary" och "Julie", tror MySQL att du syftar på andra kolumnnamn. Den snabba och smutsiga lösningen skulle vara att lägga till citattecken i din fråga, men som @tadman säger, du bör aldrig använda den här frågestilen, utan bör istället använda bind_param
för att lägga till dina variabler i frågan.
Men om allt du vill göra är att kopiera från en tabell till en annan, som @Dan Bracuk säger, kan du göra detta med en enda fråga:
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content