Wanneer PHP uw invoegquery naar MySQL stuurt, ziet deze er uiteindelijk als volgt uit:
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
Omdat er geen aanhalingstekens om "John", "Mary" en "Julie" staan, denkt MySQL dat je naar andere kolomnamen verwijst. De snelle en vuile oplossing zou zijn om aanhalingstekens aan je zoekopdracht toe te voegen, maar zoals @tadman zegt, zou je deze manier van zoeken nooit moeten gebruiken, maar in plaats daarvan bind_param
om uw variabelen aan de query toe te voegen.
Als u echter alleen maar van de ene tabel naar de andere wilt kopiëren, zoals @Dan Bracuk zegt, kunt u dit doen met een enkele vraag:
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content