International PHP Conference 2015

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($resultMYSQL_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
2
zjrwjzzz at 163 dot com
6 months 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