Exemple avec l'extension MySQL

Cet exemple simple montre comment se connecter, exécuter une requête, lire les informations obtenues et se déconnecter d'une base de données MySQL.

Exemple #1 Exemple de présentation de l'extension MySQL

<?php
// Connexion et sélection de la base
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
or die(
'Impossible de se connecter : ' . mysql_error());
echo
'Connected successfully';
mysql_select_db('my_database') or die('Impossible de sélectionner la base de données');

// Exécution des requêtes SQL
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Échec de la requête : ' . mysql_error());

// Affichage des résultats en HTML
echo "<table>\n";
while (
$line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo
"\t<tr>\n";
foreach (
$line as $col_value) {
echo
"\t\t<td>$col_value</td>\n";
}
echo
"\t</tr>\n";
}
echo
"</table>\n";

// Libération des résultats
mysql_free_result($result);

// Fermeture de la connexion
mysql_close($link);
?>

add a note add a note

User Contributed Notes 1 note

up
-1
zjrwjzzz at 163 dot com
9 years ago
Be aware that if you are trying to foreach the associative array returned by mysql_fetch_array() with MYSQL_ASSOC or mysql_fetch_assoc(), you have to ensure the return value that is used in foreach structure is exactly a array rather than a FALSE value.

Or you might encounter the warning below:
    Warning: Invalid argument supplied for foreach()

Here is an example (assume that $result have already stored the return value from mysql_query()):

If you have some block of code like:

<?php

// Printing results in HTML
echo "<table>\n";
while (
$line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo
"\t<tr>\n";
    foreach (
$line as $col_value) {
        echo
"\t\t<td>$col_value</td>\n";
    }
    echo
"\t</tr>\n";
}
echo
"</table>\n";

?>

If this is the case, you should use the code below instead:

<?php

// Check ahead, before using it
if (mysql_num_rows($result) > 0) {
   
// Printing results in HTML
   
echo "<table>\n";
    while (
$line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        echo
"\t<tr>\n";
        foreach (
$line as $col_value) {
            echo
"\t\t<td>$col_value</td>\n";
        }
        echo
"\t</tr>\n";
    }
    echo
"</table>\n";
}

?>
To Top