PHP

pg_select

pg_select

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

pg_select — 选择记录

描述

mixed pg_select ( resource $connection , string $table_name , array $assoc_array [, int $options = PGSQL_DML_EXEC ] )

pg_select()选择具有field =>值的assoc_array指定的记录。对于成功的查询,它将返回一个数组,其中包含与assoc_array指定的条件相匹配的所有记录和字段。

如果指定了选项,则pg_convert()将应用于具有指定标志的assoc_array

参数

connection

PostgreSQL数据库连接资源。

table_name

从中选择行的表的名称。

assoc_array

一个数组,其键是表中的字段名table_name,其值是行必须满足才能检索的条件。

options

任何数量的PGSQL_CONV_FORCE_NULLPGSQL_DML_NO_CONVPGSQL_DML_ESCAPEPGSQL_DML_EXECPGSQL_DML_ASYNCPGSQL_DML_STRING组合。如果是返回的查询字符串的PGSQL_DML_STRING一部分options。当PGSQL_DML_NO_CONV或者PGSQL_DML_ESCAPE被设置时,它不会在内部调用pg_convert()。

返回值

成功TRUE或失败时返回FALSE。如果通过选项传递 PGSQL_DML_STRING, 则返回字符串。

例子

示例#1 pg_select()示例

<?php    $db = pg_connect('dbname=foo'   // This is safe, since $_POST is converted automatically   $rec = pg_select($db, 'post_log', $_POST   if ($rec) {       echo "Records selected\n";       var_dump($rec   } else {       echo "User must have sent wrong inputs\n";   } ?>

更新日志

描述
5.6.0不再是实验性的。增加了PGSQL_DML_ESCAPE常量,TRUE / FALSE和NULL数据类型支持。
5.5.3/5.4.19将直接SQL注入到table_name和间接SQL注入到标识符是固定的。