db2_exec Exécute une requête SQL directement &reftitle.description; resourcedb2_exec resourceconnection stringstatement arrayoptions Exécute une requête SQL directement. Si vous prévoyez intercaler des variables PHP dans la requête SQL, vous devez comprendre que c'est l'une des plus communes failles de sécurité. Considérez qu'il faut appeler la fonction db2_prepare pour préparer une requête SQL qui contient des marqueurs pour des variables d'entrée. Ensuite, vous pouvez appeler la fonction db2_execute pour passer les valeurs d'entrée et ainsi éviter les attaques par injections SQL. Si vous prévoyez appeler à plusieurs reprises la même requête SQL avec des paramètres différents, considérez qu'il est préférable d'appeler la fonction db2_prepare et db2_execute pour permettre au serveur de base de données de réutiliser son plan d'accès et ainsi augmenter l'efficacité de votre accès à la base de données. &reftitle.parameters; connection Une variable ressource de connexion valide retournée par db2_connect ou db2_pconnect. statement Une requête SQL. La requête ne peut contenir de marqueur. options Un tableau associatif contenant les options de la requête. Vous pouvez utiliser ce paramètre pour demander un curseur flottant sur les serveurs de base de données qui supportent cette fonctionnalité. Pour une description des options valides, reportez-vous à la fonction db2_set_option. &reftitle.returnvalues; Retourne une variable ressource si la requête SQL était envoyée correctement ou &false; si la base de données n'a pas réussi à exécuter la requête SQL. &reftitle.examples; Création d'une table avec <function>db2_exec</function> L'exemple suivant utilise la fonction db2_exec pour envoyer un ensemble de requêtes DDL afin de créer une table. ]]> &example.outputs; Exécution d'une requête SELECT avec un curseur flottant L'exemple suivant montre comment demander un curseur flottant pour une requête SQL envoyée avec la fonction db2_exec. DB2_SCROLLABLE)); while ($row = db2_fetch_array($stmt)) { print "$row[0]\n"; } } ?> ]]> &example.outputs; Retourne des données XML en tant que ResultSet SQL L'exemple suivant démontre comment utiliser des documents enregistrés dans une colonne XML en utilisant la base de données SAMPLE. En utilisant un simple SQL/XML, cet exemple retourne quelques nœuds dans un document XML dans un format ResultSet SQL dont la plupart des utilisateurs sont familiers. CID $row->NAME $row->PHONE\n"); } db2_close($conn); ?> ]]> &example.outputs; Exécuter un "JOIN" avec des données XML L'exemple suivant fonctionne avec des documents enregistrés dans deux colonnes différentes dans la base de données SAMPLE. Cela crée deux tables temporaires provenant des documents XML de deux différentes colonnes XML et retourne un ResultSet SQL avec les informations contenant le statut de livraison pour un client. CID $row->NAME $row->PHONE $row->PONUM $row->STATUS\n"); } db2_close($conn); ?> ]]> &example.outputs; Retourne des données SQL faisant partie d'un document XML large L'exemple suivant utilise une portion des documents de PRODUCT.DESCRIPTION dans la base de données SAMPLE. Cela crée un document XML contenant la description du produit (données XML) et les informations concernant le prix (données SQL). { for $prod in $doc/product where $prod/description/price < 10.00 order by $prod/description/price ascending return( { $prod, {$start} , {$end} , {$promo} } ) } \' passing by ref DESCRIPTION AS "doc", PROMOSTART as "start", PROMOEND as "end", PROMOPRICE as "promo" RETURNING SEQUENCE) AS CLOB (32000)) AS NEW_PRODUCT_INFO FROM PRODUCT WHERE PID = \'100-100-01\' '; $stmt = db2_exec($conn, $query); while($row = db2_fetch_array($stmt)){ printf("$row[0]\n"); } db2_close($conn); ?> ]]> &example.outputs; Snow Shovel, Basic 22 inch
Basic Snow Shovel, 22 inches wide, straight handle with D-Grip
9.99 1 kg
2004-11-19 2004-12-19 7.25
]]>
&reftitle.seealso; db2_execute db2_prepare