Обзорный пример расширения MySQL
Этот простой пример показывает, как соединиться с базой данных, выполнить запрос, распечатать результат и отсоединиться.
Пример #1 Пример работы с MySQL
<?php
// Соединяемся, выбираем базу данных
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
or die('Не удалось соединиться: ' . mysql_error());
echo 'Соединение успешно установлено';
mysql_select_db('my_database') or die('Не удалось выбрать базу данных');
// Выполняем SQL-запрос
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Запрос не удался: ' . mysql_error());
// Выводим результаты в 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";
// Освобождаем память от результата
mysql_free_result($result);
// Закрываем соединение
mysql_close($link);
?>
Коментарии
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";
}
?>