26.06.2013 Views

FAQ PHP

FAQ PHP

FAQ PHP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>FAQ</strong> <strong>PHP</strong><br />

Sommaire > Bases de données > Interfaces de programmation (API) > MySQLi<br />

Auteurs : Cyberzoide ,<br />

Comment installer MySQLi ?<br />

Pour installer MySQLi il faut rajouter les options suivantes à la directive ./configure lors de l'installation<br />

de <strong>PHP</strong> à partir des sources :<br />

--with-mysqli=/usr/local/mysql/bin/ --without-mysql<br />

/usr/local/mysql/bin/ est à remplacer par le chemin du binaire mysql_config de votre client MySQL.<br />

lien : Comment installer une extension pour <strong>PHP</strong> ?<br />

Auteurs : Julp ,<br />

Peut-on exécuter plusieurs requêtes SQL en une fois avec MySQLi ?<br />

Il est possible d'exécuter plusieurs requêtes à la fois en utilisant mysqli_multi_query() :<br />

mysqli_multi_query($db, 'UPDATE une_table SET compteur = compteur + 1; DELETE FROM une_table WHERE compteur > 10<br />

Une alternative est d'appeler mysqli_query() pour chacune des requêtes.<br />

Auteurs : Julp ,<br />

Comment parcourir les résultats de plusieurs requêtes SQL avc MySQLi ?<br />

Il faut considérer les résultats des différentes requêtes comme une liste. C'est à dire qu'on traite ces<br />

résultats l'un après l'autre et dans l'ordre dans lequel les requêtes ont été effectuées. La fonction<br />

mysqli_store_result permet de charger le résultat de la requête et la fonction mysqli_next_result permet de<br />

savoir s'il en reste et de préparer le prochain résultat. Cette dernière ne doit cependant pas être appelée pour<br />

le tout premier résultat, d'où une itération de type do { } while();. Vous pouvez ensuite utiliser normalement<br />

les fonctions mysqli_fetch_* dans cette boucle pour exploiter le résultat courant. Voici un exemple pour<br />

différentes requêtes :<br />

$db = mysqli_connect('localhost', 'julp', 'motdepasse', 'developpez');<br />

$requetes = array(<br />

'SELECT * FROM boutique',<br />

'SHOW DATABASES'<br />

);<br />

if (mysqli_multi_query($db, implode(';', $requetes)))<br />

{ // Ne teste que la première<br />

$i = 0;<br />

do<br />

{<br />

if ($result = mysqli_store_result($db))<br />

{<br />

echo '' . $requetes[$i] . '';<br />

while ($field = mysqli_fetch_field($result))<br />

{<br />

echo '' . $field->name . '';<br />

}<br />

{<br />

{<br />

echo '';<br />

while ($row = mysqli_fetch_assoc($result))<br />

echo '';<br />

foreach ($row as $value)<br />

echo '' . $value . '';<br />

}<br />

echo '';<br />

- 50 -<br />

Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation<br />

de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2003 Developpez LLC. Tout droits réservés<br />

Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images<br />

sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages<br />

et intérêts.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!