J'essaie d'insérer plusieurs données dans une table, mais j'ai eu une erreur indiquant:
Vous avez une erreur dans votre syntaxe SQL; Vérifiez le manuel qui correspond à votre version de Server MySQL pour la bonne syntaxe à utiliser à proximité 'Insérer dans l'auteur (FirstName, Nom) ("rasmus", "lerdorf") Insertion int' à la ligne 1 p> BlockQuote>
Voici la méthode: P>
$sql = "INSERT INTO author (firstname, lastname) VALUES ('Roal', 'Dahl')"; $sql .= "INSERT INTO author (firstname, lastname) VALUES ('Rasmus', 'Lerdorf')"; $sql .= "INSERT INTO author (firstname, lastname) VALUES ('Jane', 'Doe')";
3 Réponses :
Généralement, MySQLI et PDO ne peuvent pas exécuter plusieurs déclarations dans une seule requête. Il existe des alternatives telles que mysqli_multi_query , mais ce n'est pas Vraiment ce dont vous avez besoin.
Votre requête peut avoir plusieurs lignes ajoutées en ajoutant des sections supplémentaires après Valeurs CODE> Comme: P> $sql = "INSERT INTO author (firstname, lastname) VALUES ";
$sql .= "('Roal', 'Dahl'), ('Rasmus', 'Lerdorf'), ('Jane', 'Doe')";
Vous pouvez le faire:
$sql = INSERT INTO author ( firstname, lastname) VALUES ('Roal', 'Dahl'), ('Rasmus', 'Lerdorf'), ('Jane', 'Doe');
Vous pouvez utiliser deux options:
mysqli_multi_query strong> p> ou utilisez une requête comme: Strong> p> change $ mysqli code> avec votre connexion p> p>
Supprimer
. code> ici$ sql. = code> dans les deux requêtesSauf si vous utilisez MySQLI_MULTI_QUERY ou PDO :: ATTRE_EMULE_PREPARES, vous ne pouvez pas utiliser plusieurs inserts dans une requête. Séparez-les.