热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PostGreSQL数据库常用操作方法

1.pg_close(关闭数据库链接)语法:booleanpg_close(intconnection)说明:本函数冠以与PostGresql服务器的连接2.pg_cmdtuples(获取SQL命令所影响的函数)语法:intpd_cmdtuples(intresult_id)说明:本函数用于获取postgresdeSQ

1.pg_close(关闭数据库链接)
语法:boolean pg_close(int connection)
说明:本函数冠以与PostGresql服务器的连接

2.pg_cmdtuples(获取SQL命令所影响的函数)
语法:int pd_cmdtuples(int result_id)
说明:本函数用于获取postgresde SQL命令所影响的数据行数,这些命令包括INSERT,Update,Delete。如果没有数据,则返回0.
例子
$result=pg_exec($conn,"INSERT INTO book VALUES('author')");
$cmdtuples=pg_cmdtuples($result);

3.pg_connect(连接数据库)
语法:int pg_connect(string [host],string [port],string [options],string [tty],string [database])
说明:本函数打开与Postgresql服务器的连接。参数host为服务器名称、port为连接端口号、options为可选项,tty为终端名称、database为数据库名称,如果连接成功,函数返回连接代码,否则返回false

4.pg_dbname(获取当前数据库名称)
语法:string pg_dbname(int connection)

5.pg_errormessage(返回错误信息)
语法:string pg_errormessage(int connection)
说明:用于获取postgresql数据库的错误信息

6.pg_exec(执行查询命令)
语法:int pg_exec(int connection,string query)
说明:本函数用于执行由query指定的查询命令,参数connection为连接代码,参数query为要执行的命令。

7.pg_fetch_array(返回数组数据)
语法:array pg_fetch_array(int result,int row)
说明:本函数用来将查询结果拆分到数组变量中。如果没有数据,则返回false。参数result为使用pg_exec所返回的代码值,参数row为行数
例子:
$cOnn=pg_connect("","","","","publisher");
if(!$conn){
echo "错误,无法连接";
exit;}
$result=pg_Exec($conn,"SELECT * FROM book");
if(!$result){
echo "错误,无法查询";
exit;}
$arr=pg_fetch_array($result,0);
echo $arr[0]." $arr=pg_fetch_array($result,1);
echo $arr["author"]."

8.pg_fetch_object(返回对象结果)
语法:object pg_fetch_object(int result,int row)
说明:本函数用来将查询结果拆分到对象变量中,如果result没有数据,则返回false,参数$result为pg_Exec
返回的代码值,参数row为行数
例子:
$database="book";
$db_cOnn=pg_connect("localhost","5432","","",$database);
if(!$db_conn): ?>
无法连接
exit;
endif;
$query=pg_exec($db_conn,"SELECT * FROM book BY author");
$row=0;
while($data=pg_fetch_object($query,$row));
echo $data>author.echo $data.title;
$$row++;
endwhile;?>

Postgres 数据库是由柏克莱大学电脑科学系所开发的数据库系统,为类关联式数据库的先驱。它提供 SQL92/SQL3 语法。PostgreSQL 是公开使用的免费系统。    在 phpWizard.net 网站上也有用 Browser 管理 PostgreSQL 的套装程序 PostgresAdmin 。可以用它来轻松管理 PostgreSQL 数据库。
    在公元 1998 年的 PostgreSQL 6.3 版之后,可以使用 UNIX 上的 domain sockets。postmaster 加上参数 -i 就可以使用,PostgreSQL 系统会用到 /tmp/.s.PGSQL.5432 的文件。
    下面为使用 LOB (Large Object) 的例子
$database = pg_Connect ( "" , "" , "" , "" , "jacarta" );
pg_exec ( $database , "begin" );
$oid = pg_locreate ( $database );
echo ( "$oid n " );
$handle = pg_loopen ( $database , $oid , "w" );
echo ( "$handle n " );
pg_lowrite ( $handle , "gaga" );
pg_loclose ( $handle );
pg_exec ( $database , "commit" )
pg_exec ( $database , "end" )
?> pg_Close: 关闭 PostgreSQL 服务器连接。
pg_cmdTuples: 取得被 SQL 指令影响的资料笔数。
pg_Connect: 打开 PostgreSQL 服务器连接。
pg_DBname: 取得目前的数据库名称。
pg_ErrorMessage: 返回错误信息。
pg_Exec: 执行 query 指令。
pg_Fetch_Array: 返回数组资料。
pg_Fetch_Object: 返回类资料。
pg_Fetch_Row: 返回单列的各字段。
pg_FieldIsNull: 检查字段是否有资料。
pg_FieldName: 返回指定字段的名称。
pg_FieldNum: 取得指定字段的行数。
pg_FieldPrtLen: 计算可列示的长度。
pg_FieldSize: 计算指定字段的长度。
pg_FieldType: 获得目前字段的类型。
pg_FreeResult: 释放返回占用内存。
pg_GetLastOid: 取得最后的类代码。
pg_Host: 取得连接机器名称。
pg_loclose: 关闭大型类。
pg_locreate: 建立大型类。
pg_loopen: 打开大型类。
pg_loread: 读取大型类。
pg_loreadall: 读取大型类并输出。
pg_lounlink: 删除大型类。
pg_lowrite: 读取大型类。
pg_NumFields: 取得返回字段的数目。
pg_NumRows: 取得返回列的数目。
pg_Options: 取得连接机器选项。
pg_pConnect: 打开 PostgreSQL 服务器持续连接。
pg_Port: 取得连接机器埠号。
pg_Result: 取得查询 (query) 的结果。
pg_tty: 取得连接机器终端机。
pg_Close
关闭 PostgreSQL 服务器连接。
语法: boolean pg_close(int connection);
返回值: 布尔值
函数种类: 数据库功能
内容说明: 本函数关闭与 PostgreSQL 服务器的连接。参数 connection 为连接代码。成功返回 true、失败返回 false 值。
pg_cmdTuples
取得被 SQL 指令影响的资料笔数。
语法: int pg_cmdtuples(int result_id);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得 PostgreSQL 的 SQL 指令所影响的资料笔数,这些 query 指令包括 INSERT、UPDATE 与 DELETE 等。返回值为影响的笔数,若没有资料受影响则返回 0。
使用范例
本例为部份的程序
$result = pg_exec($conn, "INSERT INTO verlag VALUES ('Autor')");
$cmdtuples = pg_cmdtuples($result);
echo $cmdtuples." 笔资料受影响n";
?>
pg_Connect
打开 PostgreSQL 服务器连接。
语法: int pg_connect(string [host], string [port], string [options], string [tty], string database);
返回值: 整数
函数种类: 数据库功能
内容说明
本函数打开与 PostgreSQL 服务器的连接。参数 host 表服务器名称。参数 port 为连接埠。参数 options 为选项。参数 tty 为终端机。参数 database 为数据库名。成功返回连接代号、失败返回 false 值。
使用范例
pg_connect("dbname=testdb user=wilson password=haha port=5433");
// 以下略
?>
参考: pg_pConnect()
pg_DBname
取得目前的数据库名称。
语法: string pg_dbname(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得 PostgreSQL 目前使用的数据库 (database) 名称。参数 connection 为连接代码。
pg_ErrorMessage
返回错误信息。
语法: string pg_errormessage(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以取得 PostgreSQL 服务器的错误信息。参数 connection 为连接代码。
pg_Exec
执行 query 指令。
语法: int pg_exec(int connection, string query);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来执行指定的 query 指令。参数 connection 为连接代码。参数 query 为欲执行的指令。
pg_Fetch_Array
返回数组资料。
语法: array pg_fetch_array(int result, int row);
返回值: 数组
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 拆到数组变量中。若 result 没有资料,则返回 false 值。参数 result 为使用 pg_Exec() 所返回的代码值。参数 row 为列数。
使用范例
$cOnn= pg_pconnect("","","","","publisher");
if (!$conn) {
echo "错误, 无法连接n";
exit;
}
$result = pg_Exec($conn, "SELECT * FROM authors");
if (!$result) {
echo "错误, 无法查询n";
exit;
}
$arr = pg_fetch_array($result, 0);
echo $arr[0]."
$arr = pg_fetch_array ($result, 1);
echo $arr["author"] . "
?>
pg_Fetch_Object
返回类资料。
语法: object pg_fetch_object(int result, int row);
返回值: 类
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 拆到类变量中。若 result 没有资料,则返回 false 值。参数 result 为使用 pg_Exec() 所返回的代码值。参数 row 为列数。
使用范例
$database = "verlag";
$db_cOnn= pg_connect("localhost", "5432", "", "", $database);
if (!$db_conn): ?>
无法连上 echo $database ?> 数据库
exit;
endif;$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0;
while ($data = pg_fetch_object ($qu, $row)):
echo $data->autor." (";
echo $data->jahr ."): ";
echo $data->titel."";
$row++;
endwhile; ?>
$fields[] = Array("autor", "Author");
$fields[] = Array("jahr", " Year");
$fields[] = Array("titel", " Title");
$row = 0;
while ($data = pg_fetch_object($qu, $row)):
echo "n";
reset ($fields);
while (list (,$item) = each($fields)):
echo $item[1].": ".$data->$item[0]."n";
endwhile;
$row++;
endwhile;
echo ""; ?>
pg_freeResult($qu);
pg_close($db_conn);
?>
pg_Fetch_Row
返回单列的各字段。
语法: array pg_fetch_row(int result, int row);
返回值: 数组
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 之单列拆到数组变量中。数组的索引是数字索引,第一个的索引值是 0。若 result 没有资料,则返回 false 值。参数 row 表列数。
使用范例
$cOnn= pg_pconnect("","","","","publisher");
if (!$conn) {
echo "连接失败n";
exit;
}
$result = pg_Exec($conn, "SELECT * FROM authors");
if (!$result) {
echo "查询失败n";
exit;
}
$row = pg_fetch_row($result, 0);
echo $row[0] . "
$row = pg_fetch_row($result, 1);
echo $row[0] . "
echo $row[1] . "
?>
参考: pg_Fetch_Array() pg_Fetch_Object() pg_Result()
pg_FieldIsNull
检查字段是否有资料。
语法: int pg_fieldisnull(int result, int row, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可检查指定的字段是否有资料。参数 result 为查询结果代码。参数 row 为指定列数,第一个的索引值是 0。参数 field 为指定的字段。返回 0 表示有资料,返回 1 表示无资料 (Null)。
pg_FieldName
返回指定字段的名称。
语法: string pg_fieldname(int result, int field);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的名称。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。
pg_FieldNum
取得指定字段的行数。
语法: int pg_fieldnum(int result, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的行数。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FieldPrtLen
计算可列示的长度。
语法: int pg_fieldprtlen(int result, int row, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的可列示字符长度。参数 result 为查询结果代码。参数 row 表指定的列。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FieldSize
计算指定字段的长度。
语法: int pg_fieldsize(int result, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的长度 (位组)。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FieldType
获得目前字段的类型。
语法: string pg_fieldtype(int result, mixed field);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以得到目前所在字段的类型格式。返回的字符串为字段的类型,包括了 int、real、string....等等。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FreeResult
释放返回占用内存。
语法: boolean pg_freeresult(int result);
返回值: 布尔值
函数种类: 数据库功能
内容说明: 本函数可以释放目前 PostgreSQL 数据库 query 返回所占用的内存。一般只有在非常担心在内存的使用上可能会不足的情形下才会用本函数。PHP 程序会在结束时自动释放。参数 result 为查询结果代码。
pg_GetLastOid
取得最后的类代码。
语法: int pg_getlastoid(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数获取最后的类代码,类是由 pg_Exec() 所执行的 INSERT SQL 指令产生的。参数 result 为查询结果代码。若不是由 pg_Exec() 的 INSERT 产生类,则会产生错误,返回 -1 值。
pg_Host
取得连接机器名称。
语法: string pg_host(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中的 PostgreSQL 服务器名称。参数 connection 为连接代码。
pg_loclose
关闭大型类。
语法: void pg_loclose(int fd);
返回值: 无
函数种类: 数据库功能
内容说明: 本函数用来关闭大型类 (Inversion Large Object)。参数 fd 是由 pg_loopen() 所打开的文件代码。
pg_locreate
建立大型类。
语法: int pg_locreate(int connection);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来建立大型类 (Inversion Large Object)。参数 connection 为连接代码。PostgreSQL 数据库的存取模式只有 INV_READ、INV_WRITE 二种,INV_ARCHIVE 已经从 PostgreSQL 6.3 之后的版本移除。返回值为类代码。
pg_loopen
打开大型类。
语法: int pg_loopen(int connection, int objoid, string mode);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来打开大型类 (Inversion Large Object)。参数 connection 为连接代码。参数 objoid 为类代码。参数 mode 的值有只读 (r)、只写 (w) 及可读写 (rw) 等三种。返回值为文件代码。
pg_loread
读取大型类。
语法: string pg_loread(int fd, int len);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来读取大型类 (Inversion Large Object)。参数 fd 为类的文件代码。参数 len 为欲读取的最大长度。
pg_loreadall
读取大型类并输出。
语法: void pg_loreadall(int fd);
返回值: 无
函数种类: 数据库功能
内容说明: 本函数用来读取大型类 (Inversion Large Object),并将结果输出到标准输出设备中。参数 fd 为类的文件代码。
pg_lounlink
删除大型类。
语法: void pg_lounlink(int connection, int lobjid);
返回值: 无
函数种类: 数据库功能
内容说明: 本函数用来删除大型类 (Inversion Large Object)。参数 connection 为连接代码。参数 objoid 为类代码。
pg_lowrite
读取大型类。
语法: int pg_lowrite(int fd, string buf);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来写入大型类 (Inversion Large Object)。参数 fd 为类的文件代码。参数 buf 为欲写入类的字符串。若有错误则返回 false 值,正确则返回写入字符串的位组 (byte) 数。
pg_NumFields
取得返回字段的数目。
语法: int pg_numfields(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到返回字段的数目。参数 result 为 PostgreSQL 服务器执行 query 的返回代码。若有错误则返回 -1。
pg_NumRows
取得返回列的数目。
语法: int pg_numrows(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到返回列的数目。参数 result 为 PostgreSQL 服务器执行 query 的返回代码。若有错误则返回 -1。
pg_Options
取得连接机器选项。
语法: string pg_options(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中 PostgreSQL 服务器的选项。参数 connection 为连接代码。
pg_pConnect
打开 PostgreSQL 服务器持续连接。
语法: int pg_pconnect(string [host], string [port], string [options], string [tty], string database);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数打开与 PostgreSQL 服务器的持续连接。参数 host 表服务器名称。参数 port 为连接埠。参数 options 为选项。参数 tty 为终端机。参数 database 为数据库名。成功返回连接代号、失败返回 false 值。本函数和 pg_Connect() 不同的地方在于使用本函数打开数据库时,程序会先寻找是否曾经执行过本函数,若执行过则返回先前执行的 ID。此外程序结束后并不会关闭连接,而是等下次程序使用。
参考: pg_Connect()
pg_Port
取得连接机器埠号。
语法: int pg_port(int connection);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中 PostgreSQL 服务器的埠号。参数 connection 为连接代码。
pg_Result
取得查询 (query) 的结果。
语法: mixed pg_result(int result, int row, mixed field);
返回值: 混合类型资料
函数种类: 数据库功能
内容说明: 本函数取得一格 query 的结果。参数 field 可以是字段名称、顺序或者是 FieldName.TableName 的格式。
pg_tty
取得连接机器终端机。
语法: string pg_tty(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中 PostgreSQL 服务器的终端机名称,供调试等使用。参数 connection 为连接代码。
推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
author-avatar
胜利者416
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有