Quando PHP invia la tua query di inserimento a MySQL, finisce per apparire così:
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
Poiché non ci sono virgolette intorno a "John", "Mary" e "Julie", MySQL pensa che tu ti riferisca ad altri nomi di colonna. La soluzione rapida e sporca sarebbe quella di aggiungere virgolette alla tua query, ma come dice @tadman, non dovresti mai usare questo stile di query e dovresti invece usare bind_param
per aggiungere le tue variabili alla query.
Tuttavia, se tutto ciò che vuoi fare è copiare da una tabella all'altra, come dice @Dan Bracuk, puoi farlo con una singola query:
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content