Web-tutoriel

Tutoriels javascript css php java jquery

Opmisation de script PHP-MySQL 5 octobre , 2009



La fonction mysql_fetch_array permet de renvoyer un tableau php (array) contenant les résultats de contenu d’une requète SQL.

Voici un exemple d’utilisation de cette fonction :

mysql_connect("localhost", "mysql_user", "mysql_password") 
    or die("Impossible de se connecter : " . mysql_error());
 
mysql_select_db("mydb");
 
$result = mysql_query("SELECT id, nom FROM user WHERE id=2");
 
while ($row = mysql_fetch_array($result)) {
    echo("ID : ".$row[id]." Nom : "$row[nom]);
}
 
mysql_free_result($result);

Le tableau renvoyé est de cette forme :

array(
    [0] => 2,
    [id] => 2,
    [1] => Pierre,
    [nom] => Pierre
)

On peut voir que le tableau contient 2 fois les mêmes valeurs, d’où une consommation mémoire inutile.

Il est donc possible de préciser un second paramètre à la fonction mysql_fetch_array afin de retourner que des tableaux avec les intitulés ou les numéros :

MYSQL_NUM :

array(
    [0] => 2,
    [1] => Pierre
)

MYSQL_ASSOC :

array(
    [id] => 2,
    [nom] => Pierre
)

MYSQL_BOTH (valeur par défaut si on ne précise rien) :

array(
    [0] => 2,
    [id] => 2,
    [1] => Pierre,
    [nom] => Pierre
)

On remplacera donc dans notre code :

while ($row = mysql_fetch_array($result)) {

par :

while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) {

Laissez une réponse

Nom (requis)

Email (requis)

Site Web

Haut