array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.mysql-db-query.php', 1 => 'mysql_db_query', ), 'up' => array ( 0 => 'ref.mysql.php', 1 => 'MySQL', ), 'prev' => array ( 0 => 'function.mysql-db-name.php', 1 => 'mysql_db_name', ), 'next' => array ( 0 => 'function.mysql-drop-db.php', 1 => 'mysql_drop_db', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/mysql/functions/mysql-db-query.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5)
mysql_db_query — Переключается на указанную базу данных и посылает запрос
Данная функция объявлена устаревшей в PHP 5.3.0, и, вместе с модулем MySQL, удалена PHP в 7.0.0. Вместо неё используйте активно развивающиеся модули MySQLi или PDO_MySQL. Так же смотрите раздел MySQL: выбор API. Альтернативы для этой функции:
mysql_db_query() выбирает базу данных и выполняет запрос к ней.
database
Имя базы данных, на которую произойдёт переключение.
query
Запрос MySQL.
Данные в запросе должны быть корректно проэкранированы.
link_identifier
Соединение MySQL. Если идентификатор соединения не был указан,
будет использовано последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено,
функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров.
Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING
.
Возвращает ресурс результата запроса к MySQL или false
в случае возникновения ошибки.
Функция также возвращает true
/false
для
INSERT
/UPDATE
/DELETE
запросов для индикации успеха/провала.
Пример #1 Пример использования альтернативы mysql_db_query()
<?php
if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
echo 'Не удалось подключиться к mysql';
exit;
}
if (!mysql_select_db('mysql_dbname', $link)) {
echo 'Не удалось выбрать базу данных';
exit;
}
$sql = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);
if (!$result) {
echo "Ошибка DB, запрос не удался\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row['foo'];
}
mysql_free_result($result);
?>
Замечание:
Учтите, что эта функция НЕ переключает соединение обратно к предыдущей базе данных. Другими словами, вы не можете использовать эту функцию, чтобы временно переключиться на другую базу данных и выполнить запрос. Переключиться обратно вам придётся вручную. Крайне рекомендуется использовать синтаксис
database.table
в SQL-запросах или функцию mysql_select_db(), вместо использования этой функции.