pg_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_queryВыполняет запрос

Описание

pg_query ( resource $connection = ? , string $query ) : resource|false

pg_query() выполняет query к указанной в connection базе данных. pg_query_params() должна быть предпочтительнее в большинстве случаев.

В случае ошибки функция возвращает false, детали ошибки можно получить с помощью функции pg_last_error(), если соединение с БД не нарушено.

Замечание: Несмотря на то, что параметр connection может быть опущен, делать так не рекомендуется, так как это может привести к трудно находимым ошибкам в скриптах.

Замечание:

Ранее данная функция называлась pg_exec(). pg_exec() все еще доступна в целях обеспечения совместимости, но лучше использовать новое имя.

Список параметров

connection

Ресурс соединения с БД PostgreSQL. Если не передать параметр connection используется соединение по умолчанию. Соединение по умолчанию - это последнее соединение, созданное функцией pg_connect() или pg_pconnect().

query

Выражение или выражения SQL для выполнения. Если передано несколько выражений они автоматически выполняются, как одна транзакция если явно не указаны команды BEGIN/COMMIT внутри выражения. Тем не менее, использовать несколько транзакций в одном вызове функции не рекомендуется.

Внимание

Строковое представление пользовательских данных очень опасно и часто приводит к возможности SQL инъекции. В большинстве случаев лучше передавать пользовательские данные параметром в pg_query_params(), а не подставлять их в строку запроса.

Любые данные передаваемые от пользователя непосредственно в строку запроса должны быть хорошо экранированы.

Возвращаемые значения

Ресурс результата запроса в случае успешного выполнения или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования pg_query()

<?php

$conn 
pg_pconnect("dbname=publisher");
if (!
$conn) {
  echo 
"Произошла ошибка.\n";
  exit;
}

$result pg_query($conn"SELECT author, email FROM authors");
if (!
$result) {
  echo 
"Произошла ошибка.\n";
  exit;
}

while (
$row pg_fetch_row($result)) {
  echo 
"Автор: $row[0]  E-mail: $row[1]";
  echo 
"<br />\n";
}
 
?>

Пример #2 Использование нескольких выражений в pg_query()

<?php

$conn 
pg_pconnect("dbname=publisher");

// эти выражения будут исполнены в одной транзакции

$query "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn$query);

?>

Смотрите также

  • pg_connect() - Открывает соединение с базой данных PostgreSQL
  • pg_pconnect() - Открывает постоянное соединение с сервером PostgreSQL
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_num_rows() - Возвращает количество строк в выборке
  • pg_affected_rows() - Возвращает количество затронутых запросом записей (кортежей)