РНР программирование |
Главная Программа телепередач, энциклопедии и многие другие справочные материалы |
Взаимодействие PHP и MySQLВ этом разделе приводятся описания наиболее часто используемых функций, позволяющих работать с MySQL средствами PHP. SQL может применятся в прикладных программах двумя способами: в виде встроенного SQL и интерфейса программирования приложений (Application Program Interface, API). Первый способ напоминает использование PHP - инструкции SQL размещаются среди кода прикладной программы. В настоящий момент такой стиль не поддерживает ни MySQL ни PHP. Второй подход заключается в том, что программа взаимодействует с СУБД посредством совокупности функций. Именно такой подход используется при взаимодействии PHP и MySQL. mysql_connectresource mysql_connect ([string server [, string username [, string password]]])
Эта функция устанавливает соединение с сервером $dblocation = "localhost"; // Имя сервера $dbuser = "root"; // Имя пользователя $dbpasswd = ""; // Пароль $dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd); if (!$dbcnx) // Если дескриптор равен 0 соединение не установлено {
echo("
корректное отображение страницы невозможно.");
exit();
}
?>
Переменные
$dblocation = "localhost"; $dbname = "forum"; $dbuser = "root"; $dbpasswd = ""; ?>
mysql_closebool mysql_close ([resource link_identifier])
Эта функция разрывает соединение с сервером MySQL, и возвращает К примеру: // устанавливаем соединение с базой данных
$dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd); if (!$dbcnx) {
// Выводим предупреждение
echo ("
корректное отображение страницы невозможно.");
// Завершаем работу в случае неудачи
exit();
}
if(mysql_close($dbcnx)) // разрываем соединение {
echo("Соединение с базой данных прекращено");
}
else
{
echo("Не удалось завершить соединение");
}
mysql_select_dbbool mysql_select_db (string database_name [, resource link_identifier])
Использование этой функции эквивалентно вызову команды // Код соединения с базой данных
if (!mysql_select_db($dbname, $dbcnx)) {
echo( "
корректное отображение страницы невозможно." );
exit();
}
?>
Имеет смысл помещать функции для соединения и выбора базы данных в тот же файл (config.php), где объявлены переменные с именами сервера, пользователя и паролем: $dblocation = "localhost"; $dbname = "softtime"; $dbuser = "root"; $dbpasswd = ""; $dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd); if (!$dbcnx) {
echo( "
корректное отображение страницы невозможно." );
exit(); }
if (!mysql_select_db($dbname, $dbcnx)) {
echo( "
корректное отображение страницы невозможно." );
exit(); }
?>
mysql_queryresource mysql_query (string query)
Эта функция применяется для отправки серверу SQL-запросов. Функция возвращает дескриптор запроса в случае успеха и include "config.php"; $ath = mysql_query("select * from authors;"); if($ath) {
$author = mysql_fetch_array($ath);
echo " echo "пароль = ".$author['passw']." echo "e-mail = ".$author['email']."
echo "url = ".$author['url']."
echo "ICQ = ".$author['icq']."
echo "about = ".$author['about']."
echo "photo = ".$author['photo']."
echo "time = ".$author['time'];
}
else
{
echo "
exit(); }
?>
Результат выполнения показан на следующем рисунке: mysql_fetch_arrayarray mysql_fetch_array (resource result)
Эта функция возвращает значения полей в виде ассоциативного массива, в качестве аргумента принимает дескриптор запроса возвращаемый функцией include "config.php"; $ath = mysql_query("select * from authors;"); if($ath) {
// Определяем таблицу и заголовок
echo " }
else
{
echo "
exit(); }
?>
Результат показан на следующем рисунке: mysql_resultmixed mysql_result (resource result, int row)
С помощью этой функции можно получить доступ к отдельному полю записи. Допустим, нам нужно вывести имя автора, который первым найдется в базе данных. Сделать это можно следующим образом: include "config.php"; $ath = mysql_query("select name from authors;"); if($ath) {
echo mysql_result($ath,0,'name');
}
else
{
echo "
exit();
}
?>
mysql_fetch_objectobject mysql_fetch_object (resource result)
Эта функция возвращает поля записи данных в виде объекта. Ниже приведен пример, в котором с помощью этой функции из таблицы include "config.php"; $ath = mysql_query("select * from authors;"); if($ath) {
while($row = mysql_fetch_object($ath))
{
echo "
echo "
echo "
}
}
else
{
echo "
exit(); }
?>
Результат выполнения показан на следующем рисунке: mysql_fetch_rowarray mysql_fetch_row (resource result)
В отличие от функции include "config.php"; $ath = mysql_query("select * from authors;"); if($ath) {
while($row = mysql_fetch_row($ath))
{
echo "
echo "
echo "
}
}
else
{
echo "
exit(); }
?>
Результат выполнения этого кода в точности совпадает с приведённым выше.
|