Maison >base de données >tutoriel mysql >Comment puis-je exécuter plusieurs requêtes dans une seule instruction PDO avec PDO_MYSQL ou PDO_MYSQLND ?
Bien que PDO n'autorise généralement pas plusieurs requêtes dans une seule instruction, certaines extensions offrent cette fonctionnalité :
PDO_MYSQLND remplacé PDO_MYSQL en PHP 5.3. Il sert de pilote par défaut pour MySQL PDO. Cette extension prend en charge l'exécution de plusieurs requêtes simultanément, à condition que les conditions suivantes soient remplies :
Utilisation d'exec
Pour les requêtes simples avec des valeurs constantes, vous pouvez utiliser la méthode exec() :
$db = new PDO(...); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0); $sql = "..."; $db->exec($sql);
Utilisation des instructions
Pour les requêtes avec des données variables, utilisez préparées déclarations :
$db = new PDO(...); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1); $sql = "..."; $stmt = $db->prepare($sql); $stmt->execute([...]);
N'oubliez pas de parcourir les résultats de la requête pour vérifier les erreurs ou collecter des données.
Lorsque vous utilisez des instructions préparées émulées, assurez-vous que les instructions sont correctes. l'encodage est spécifié dans le DSN (disponible dans PHP 5.3.6 et versions ultérieures). Un codage incorrect peut introduire un risque mineur d'injection SQL avec des jeux de caractères inhabituels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!