Guide d'utilisation de PDO : Utilisation de plusieurs requêtes pour faire fonctionner SQL Server
P粉178132828
P粉178132828 2023-08-13 20:25:23
0
1
511
<p>Je souhaite exécuter certaines requêtes qui ne renvoient pas de jeu de résultats, puis exécuter une requête <em>real</em> et obtenir ses résultats. Voici un exemple qui ne fonctionne pas : </p> <pre class="brush:php;toolbar:false;"><?php essayer { $db = new PDO('dblib:host=myhost;dbname=master','user','password'); $query = "déclarer @entier int = 1;"; $db->exec($query); $query = "sélectionner @entier;"; $stmt = $db->query($query); $rows = $stmt->fetchAll(); print_r($lignes); } attraper (PDOException $e) { print ($e->getMessage()); } attraper (Exception $e) { print ($e->getMessage()); } ?>≪/pré> <p>Ce code ne fonctionne pas non plus : </p> <pre class="brush:php;toolbar:false;">essayer { $db = new PDO('dblib:host=myhost;dbname=master','user','password'); $query = "déclarez @entier int = 1; sélectionnez @entier;"; $stmt = $db->query($query); $rows = $stmt->fetchAll(); print_r($lignes); } attraper (PDOException $e) { print ($e->getMessage()); } attraper (Exception $e) { print ($e->getMessage()); } ?>≪/pré> <p>Mais ce code fonctionne : </p> <pre class="brush:php;toolbar:false;"><?php essayer { $db = new PDO('dblib:host=myhost;dbname=master','user','password'); $query = "sélectionner 1;"; $stmt = $db->query($query); $rows = $stmt->fetchAll(); print_r($lignes); } attraper (PDOException $e) { print ($e->getMessage()); } attraper (Exception $e) { print ($e->getMessage()); } ?>≪/pré> <p>Merci pour votre aide</p>
P粉178132828
P粉178132828

répondre à tous(1)
P粉770375450

Je sais que c'est vieux, mais pour tous ceux qui trouvent cette question via Google : vous devez utiliser PDOStatement::nextRowset pour parcourir les ensembles de résultats de plusieurs requêtes.

Cependant, dans certaines versions, il semblait y avoir des problèmes de mémoire lors de l'utilisation de nextRowset et dblib (dans mon cas, 94 To de mémoire ont été alloués en essayant...), j'ai donc fini par repenser pour éviter complètement plusieurs requêtes SQL (alors que c'est pour copier la valeur déclaré là où il est utilisé).

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal