mysql_db_query
(PHP 4, PHP 5)
mysql_db_query — Переключается на указанную базу данных и посылает запрос
Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
- mysqli_select_db() then the query
- PDO::__construct()
Описание
$database
, string $query
[, resource $link_identifier
= NULL
] )mysql_db_query() выбирает базу данных и выполняет запрос к ней.
С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.
Список параметров
-
database
-
Имя базы данных, на которую произойдет переключение.
-
query
-
Запрос MySQL.
Данные в запросе должны быть корректно проэкранированы.
-
link_identifier
-
Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня
E_WARNING
.
Возвращаемые значения
Возвращает ресурс результата запроса к MySQL или FALSE
в случае ошибки.
Функция также возвращает TRUE
/FALSE
для
INSERT/UPDATE/DELETE
запросов для индикации успеха/провала.
Список изменений
Версия | Описание |
---|---|
5.3.0 | Функция теперь выдает предупреждение уровня E_DEPRECATED. |
4.0.6 | Данная функция устарела, ее не следует больше использовать. Используйте вместо нее mysql_select_db(), а затем mysql_query(). |
Примеры
Пример #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(), вместо использования этой функции.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- MySQL Drivers and Plugins
- Оригинальное API MySQL
- mysql_affected_rows
- mysql_client_encoding
- mysql_close
- mysql_connect
- mysql_create_db
- mysql_data_seek
- mysql_db_name
- mysql_db_query
- mysql_drop_db
- mysql_errno
- mysql_error
- mysql_escape_string
- mysql_fetch_array
- mysql_fetch_assoc
- mysql_fetch_field
- mysql_fetch_lengths
- mysql_fetch_object
- mysql_fetch_row
- mysql_field_flags
- mysql_field_len
- mysql_field_name
- mysql_field_seek
- mysql_field_table
- mysql_field_type
- mysql_free_result
- mysql_get_client_info
- mysql_get_host_info
- mysql_get_proto_info
- mysql_get_server_info
- mysql_info
- mysql_insert_id
- mysql_list_dbs
- mysql_list_fields
- mysql_list_processes
- mysql_list_tables
- mysql_num_fields
- mysql_num_rows
- mysql_pconnect
- mysql_ping
- mysql_query
- mysql_real_escape_string
- mysql_result
- mysql_select_db
- mysql_set_charset
- mysql_stat
- mysql_tablename
- mysql_thread_id
- mysql_unbuffered_query
Коментарии
/* mmm, it seems that the example don't show the function mysql_db_query, but mysql_query.
Lets see it properly done:
*/
// on this one, we connect to database and recover some rows
<?php
bd=mysql_connect("MySQL_HOST","Admin","******");
if(!$bd)
{
die("Error, connection failed");
}
else
{
$select = mysql_db_query("Hollywood","SELECT * FROM movies");
while($object=mysql_fetch_object($select))
{
echo "Id Movie: ".$object->Id.".";
echo "Title: ".$object->Title.".";
echo "Director: ".$object->Director.".";
}
}
mysql_close($bd);
?>
// on this one, we connect to database and execute a sentence (INSERT/UPDATE/DELETE)
<?php
$id = $_POST["IdMovie"];
$title = $_POST["TitleMovie"];
bd=mysql_connect("MySQL_HOST","Admin","******");
if(!$bd)
{
die("Error, connection failed.");
}
else
{
if(!mysql_db_query("Hollywood","UPDATE movies SET Title='$title' WHERE Id='$id'"))
{
die("Error, movie not updated.");
}
}
mysql_close($bd);
?>