PHP4手册:函数库及函数(三十) mSQL 资料库函式库


--------------------------------------------------------------------------------
mSQL 资料库函式库
--------------------------------------------------------------------------------
本函式库共有 40 个函式
mSQL 是个小巧的资料库系统,可以到 http://www.hughes.com.au 取得更多有关 mSQL 资料库的详情。
msql: 送出 query 字串。
msql_affected_rows: 得到 mSQL 最后操作影响的列数目。
msql_close: 关闭 mSQL 资料库连线。
msql_connect: 开启 mSQL 资料库连线。
msql_create_db: 建立一个新的 mSQL 资料库。
msql_createdb: 建立一个新的 mSQL 资料库。
msql_data_seek: 移动内部传回指标。
msql_dbname: 取得目前所在资料库名称。
msql_drop_db: 删除指定的 mSQL 资料库。
msql_dropdb: 删除指定的 mSQL 资料库。
msql_error: 取得最后错误讯息。
msql_fetch_array: 传回阵列资料。
msql_fetch_field: 取得栏位资讯。
msql_fetch_object: 传回物件资料。
msql_fetch_row: 传回单列的各栏位。
msql_fieldname: 传回指定栏位的名称。
msql_field_seek: 设定指标到传回值的某栏位。
msql_fieldtable: 获得栏位的资料表 (table) 名称。
msql_fieldtype: 获得栏位的型态。
msql_fieldflags: 获得栏位的旗标。
msql_fieldlen: 获得栏位的长度。
msql_free_result: 释放传回占用记忆体。
msql_freeresult: 释放传回占用记忆体。
msql_list_fields: 列出指定资料表的栏位 (field)。
msql_listfields: 列出指定资料表的栏位 (field)。
msql_list_dbs: 列出可用资料库 (database)。
msql_listdbs: 列出可用资料库 (database)。
msql_list_tables: 列出指定资料库的资料表 (table)。
msql_listtables: 列出指定资料库的资料表 (table)。
msql_num_fields: 取得传回栏位的数目。
msql_num_rows: 取得传回列的数目。
msql_numfields: 取得传回栏位的数目。
msql_numrows: 取得传回列的数目。
msql_pconnect: 开启 mSQL 伺服器长期连线。
msql_query: 送出一个 query 字串。
msql_regcase: 将字串逐字传回大小写字元。
msql_result: 取得查询 (query) 的结果。
msql_select_db: 选择一个资料库。
msql_selectdb: 选择一个资料库。
msql_tablename: 传回指定资料表的名称。
--------------------------------------------------------------------------------
函式:msql()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql
送出 query 字串。
语法: int msql(string database, string query, int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可送出 query 字串到指定的 database 之中,在旧版的 PHP 程式,本函式为 msql_db_query()。参数 database 为资料载 (database) 的名称。参数 query 为欲对资料库下的指令字串。参数 link_identifier 可省略,为资料库连线的代号。执行正常则传回资料库存取代号,发生错误则传回 false 值。
参考
msql_query()
--------------------------------------------------------------------------------
函式:msql_affected_rows()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_affected_rows
得到 mSQL 最后操作影响的列数目。
语法: int msql_affected_rows(int query_identifier);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式取得 mSQL 在最后查询操作 query 指令后所影响的列 (row) 数目,例如使用 UPDATE、DELETE 等指令。参数 query_identifier 为使用 msql_query() 或 msql() 时所开启的资料库存取代号值。
参考
msql() msql_query()
--------------------------------------------------------------------------------
函式:msql_close()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_close
关闭 mSQL 资料库连线。
语法: boolean msql_close(int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式关闭与 mSQL 资料库伺服器的连线。若无指定参数 link_identifier 则会关闭最后的一笔连线。用 msql_pconnect() 连线则无法使用本函式关闭。实际上本函式不是一定需要的,当 PHP 整页程式结束后,将会自动关闭与资料库的非永久性 (non-persistent) 连线。成功传回 true、失败传回 false 值。
参考
msql_connect() msql_pconnect()
--------------------------------------------------------------------------------
函式:msql_connect()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_connect
开启 mSQL 资料库连线。
语法: int msql_connect(string [hostname[:port]], string [username], string [password]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式建立与 mSQL 伺服器的连线。其中所有的参数都可省略。当使用本函式却不加任何参数时,参数 hostname 的内定值为 localhost。而参数 hostname 后面可以加冒号与埠号,代表使用那个埠与 mSQL 连接。当然在使用资料库时,早点使用 msql_close() 将连线关掉可以节省资源。
参考
msql_close() msql_pconnect()
--------------------------------------------------------------------------------
函式:msql_create_db()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_create_db
建立一个新的 mSQL 资料库。
语法: boolean msql_create_db(string database_name, int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式用来建立新的资料库 (database)。在建立前,必须先与伺服器连线。若无使用参数 link_identifier,则使用最后的连线代号。
参考
msql_drop_db()
--------------------------------------------------------------------------------
函式:msql_createdb()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_createdb
建立一个新的 mSQL 资料库。
语法: boolean msql_createdb(string database_name, int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式用来建立新的资料库 (database),这个函式其实也就是 msql_create_db()。
参考
msql_drop_db()
--------------------------------------------------------------------------------
函式:msql_data_seek()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_data_seek
移动内部传回指标。
语法: boolean msql_data_seek(int query_identifier, int row_number);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式可移动内部传回的列指标到指定的 row_number 去。之后若使用 msql_fetch_row() 可以传回新列的值。参数 query_identifier 为指令 (query) 代号。成功传回 true、失败则传回 false。
参考
msql_fetch_row()
--------------------------------------------------------------------------------
函式:msql_dbname()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_dbname
取得目前所在资料库名称。
语法: string msql_dbname(int query_identifier, int i);
传回值: 字串
函式种类: 资料库功能
内容说明
本函式用来取得目前所在的资料库 (database) 名称。参数 query_identifier 为指令 (query) 代号。参数 i 为使用 msql_listdbs() 所传回的资料库指标。本函式传回值为资料库名称字串。
--------------------------------------------------------------------------------
函式:msql_drop_db()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_drop_db
删除指定的 mSQL 资料库。
语法: boolean msql_drop_db(string database_name, int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式用来删除指定的资料库 (database)。在删除前,注意须与伺服器连线。参数 database_name 为欲删除的资料库名称。若无使用参数 link_identifier,则使用最后的连线代号。删除成功则传回 true,失败则传回 false。
参考
msql_create_db()
--------------------------------------------------------------------------------
函式:msql_dropdb()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_dropdb
删除指定的 mSQL 资料库。
语法: boolean msql_dropdb(string database_name, int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式用来删除指定的资料库 (database),这个函式和 msql_drop_db() 是完全相同的。在删除前,注意须与伺服器连线。参数 database_name为欲删除的资料库名称。若无使用参数 link_identifier,则使用最后的连线代号。删除成功则传回 true,失败则传回 false。
参考
msql_drop_db() msql_create_db()
--------------------------------------------------------------------------------
函式:msql_error()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_error
取得最后错误讯息。
语法: string msql_error(int [link_identifier]);
传回值: 字串
函式种类: 资料库功能
内容说明
本函式用来取得 mSQL 资料库的最后错误讯息字串。若无使用参数 link_identifier,则使用最后的连线代号。
--------------------------------------------------------------------------------
函式:msql_fetch_array()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fetch_array
传回阵列资料。
语法: array msql_fetch_array(int query_identifier);
传回值: 阵列
函式种类: 资料库功能
内容说明
本函式用来将查询结果分割到阵列变数中。可以将本函式当作是 msql_fetch_row() 的加强版。
使用范例
echo "\n";
$handle = msql_connect("localhost");
msql_selectdb("userinfo", $handle);
$dbresult=msql_query("select * from info", $handle);
while($dbarray=msql_fetch_array($dbresult)) {
echo "
".$dbarray["IDNumber"]."\n";
}
msql_close($handle);
echo "
\n";
?>
--------------------------------------------------------------------------------
函式:msql_fetch_field()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fetch_field
取得栏位资讯。
语法: object msql_fetch_field(int query_identifier, int [field_offset]);
传回值: 物件
函式种类: 资料库功能
内容说明
本函式传回的物件资料为 query_identifier 的栏位 (Column) 资讯。传回物件的属性如下:
name - 栏位名称
table - 栏位所在表格的资料表名称
not_null - 若为 1 表示本栏位不能是空的 (null)
primary_key - 若为 1 表示本栏位是主要键 (primary key)
unique_key - 若为 1 表示本栏位为不可重覆键 (unique key)
type - 栏位型态
参考
msql_field_seek()
--------------------------------------------------------------------------------
函式:msql_fetch_object()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fetch_object
传回物件资料。
语法: object msql_fetch_object(int query_identifier);
传回值: 物件
函式种类: 资料库功能
内容说明
本函式用来将查询结果 query_identifier 拆到物件变数中。使用方法和 msql_fetch_array() 几乎相同,不同的地方在于本函式传回资料是物件而不是阵列。若 query_identifier 没有资料,则传回 false 值。另外值得注意的地方是,取回的物件资料的索引只能是文字而不能用数字,这是因为物件的特性。物件资料的特性中所有的属性 (property) 名称都不能是数字。关于速度方面,本函式的处理速度几乎和 msql_fetch_array()、msql_fetch_row() 二函式差不多,要用哪个函式还是看使用的需求决定。
参考
msql_fetch_array() msql_fetch_row()
--------------------------------------------------------------------------------
函式:msql_fetch_row()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fetch_row
传回单列的各栏位。
语法: array msql_fetch_row(int query_identifier);
传回值: 阵列
函式种类: 资料库功能
内容说明
本函式用来将查询结果 query_identifier 之单列拆到阵列变数中。阵列的索引是数字索引,第一个的索引值是 0。若 query_identifier 没有资料,则传回 false 值。
参考
msql_fetch_array() msql_fetch_object() msql_data_seek() msql_result()
--------------------------------------------------------------------------------
函式:msql_fieldname()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fieldname
传回指定栏位的名称。
语法: string msql_fieldname(int query_identifier, int field);
传回值: 字串
函式种类: 资料库功能
内容说明
本函式用来取得指定栏位的名称。参数 query_identifier 为查询结果的 ID 代码。参数 field 为第几个栏位的数字。
--------------------------------------------------------------------------------
函式:msql_field_seek()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_field_seek
设定指标到传回值的某栏位。
语法: int msql_field_seek(int query_identifier, int field_offset);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式设定目前的指标到传回值的特定栏位中。参数 query_identifier 为查询结果的 ID 代码。参数 field_offset 为第几个栏位。
参考
msql_fetch_field()
--------------------------------------------------------------------------------
函式:msql_fieldtable()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fieldtable
获得栏位的资料表 (table) 名称。
语法: int msql_fieldtable(int query_identifier, int field);
传回值: 字串
函式种类: 资料库功能
内容说明
本函式可以得到目前所在栏位的资料表名。
--------------------------------------------------------------------------------
函式:msql_fieldtype()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fieldtype
获得栏位的型态。
语法: string msql_fieldtype(int query_identifier, int field);
传回值: 字串
函式种类: 资料库功能
内容说明
本函式可以得到目前所在栏位的型态格式。参数 query_identifier 为查询结果的 ID 代码。参数 field 为第几个栏位的数字。传回的字串为栏位的型态,包括了 int、string、real 等三种型态。
--------------------------------------------------------------------------------
函式:msql_fieldflags()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fieldflags
获得栏位的旗标。
语法: string msql_fieldflags(int query_identifier, int field);
传回值: 字串
函式种类: 资料库功能
内容说明
本函式可以得到目前所在栏位的旗标。参数 query_identifier 为查询结果的 ID 代码。参数 field 为第几个栏位的数字。传回的旗标字串可能是:not null、primary key 或二者都有或者是空字串 (表 null)。
--------------------------------------------------------------------------------
函式:msql_fieldlen()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_fieldlen
获得栏位的长度。
语法: int msql_fieldlen(int query_identifier, int field);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到目前所在栏位的长度。参数 query_identifier 为查询结果的 ID 代码。参数 field 为第几个栏位的数字。
--------------------------------------------------------------------------------
函式:msql_free_result()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_free_result
释放传回占用记忆体。
语法: int msql_free_result(int query_identifier);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以释放目前 mSQL 资料库 query 所占用的记忆体。一般只有在非常担心在记忆体的使用上可能会不足的情形下才会用本函式。PHP 程式会在结束时自动释放记忆体。
--------------------------------------------------------------------------------
函式:msql_freeresult()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_freeresult
释放传回占用记忆体。
语法: int msql_freeresult(int query_identifier);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以释放目前 mSQL 资料库 query 所占用的记忆体。一般只有在非常担心在记忆体的使用上可能会不足的情形下才会用本函式。本函式和 msql_free_result() 一样。
--------------------------------------------------------------------------------
函式:msql_list_fields()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_list_fields
列出指定资料表的栏位 (field)。
语法: int msql_list_fields(string database, string tablename, int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到指定的资料表的所有栏位。参数 database 为资料库名称。参数 tablename 为资料表名称。参数 link_identifier 可省略,为连线的代码。传回的栏位资讯可以供 msql_fieldflags()、msql_fieldlen()、msql_fieldname() 和 msql_fieldtype() 等函式使用。若有错误则传回 -1。
--------------------------------------------------------------------------------
函式:msql_listfields()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_listfields
列出指定资料表的栏位 (field)。
语法: int msql_listfields(string database, string tablename, int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到指定的资料表的所有栏位。参数 database 为资料库名称。参数 tablename 为资料表名称。参数 link_identifier 可省略,为连线的代码。传回的栏位资讯可以供 msql_fieldflags()、msql_fieldlen()、msql_fieldname() 和 msql_fieldtype() 等函式使用。若有错误则传回 -1。本函式和 msql_list_fields() 相同。
--------------------------------------------------------------------------------
函式:msql_list_dbs()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_list_dbs
列出可用资料库 (database)。
语法: int msql_list_dbs(int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到 mSQL 伺服器的可用资料库。参数 link_identifier 可省略。
--------------------------------------------------------------------------------
函式:msql_listdbs()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_listdbs
列出可用资料库 (database)。
语法: int msql_listdbs(int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到 mSQL 伺服器的可用资料库。参数 link_identifier 可省略。本函式和 msql_list_dbs() 相同。
--------------------------------------------------------------------------------
函式:msql_list_tables()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_list_tables
列出指定资料库的资料表 (table)。
语法: int msql_list_tables(string database, int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到指定资料库中的所有资料表名称。参数 database 为指定的资料库名称。参数 link_identifier 可省略
--------------------------------------------------------------------------------
函式:msql_listtables()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_listtables
列出指定资料库的资料表 (table)。
语法: int msql_listtables(string database, int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到指定资料库中的所有资料表名称。参数 database 为指定的资料库名称。参数 link_identifier 可省略。本函式和 msql_list_tables() 相同。
--------------------------------------------------------------------------------
函式:msql_num_fields()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_num_fields
取得传回栏位的数目。
语法: int msql_num_fields(int query_identifier);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到传回栏位的数目。参数 query_identifier 为查询的代号。
参考
msql() msql_query() msql_fetch_field() msql_num_rows()
--------------------------------------------------------------------------------
函式:msql_num_rows()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_num_rows
取得传回列的数目。
语法: int msql_num_rows(int query_identifier);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到传回列的数目。参数 query_identifier 为查询的代号。
--------------------------------------------------------------------------------
函式:msql_numfields()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_numfields
取得传回栏位的数目。
语法: int msql_numfields(int query_identifier);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到传回栏位的数目。参数 query_identifier 为查询的代号。本函式和 msql_num_fields() 相同。
参考
msql() msql_query() msql_num_fields() msql_fetch_field() msql_num_rows()
--------------------------------------------------------------------------------
函式:msql_numrows()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_numrows
取得传回列的数目。
语法: int msql_numrows(int query_identifier);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到传回列的数目。参数 query_identifier 为查询的代号。本函式和 msql_num_rows() 相同。
--------------------------------------------------------------------------------
函式:msql_pconnect()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_pconnect
开启 mSQL 伺服器长期连线。
语法: int msql_pconnect(string [hostname[:port]] , string [username] , string [password]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式和 msql_connect() 用法及参数均雷同。不同的处在于使用本函式开启资料库时,程式会先寻找是否曾经执行过本函式,若执行过则传回先前执行的 ID。另一个不同的地方是本函式无法使用 msql_close() 关闭资料库。
--------------------------------------------------------------------------------
函式:msql_query()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_query
送出一个 query 字串。
语法: int msql_query(string query, int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式送出 query 字串供 mSQL 做相关的处理或者执行。参数 query 为合乎 SQL 语法的 query 字串。若没有指定 link_identifier 参数,则程式会自动寻找最近开启的 ID。
参考
msql() msql_select_db() msql_connect()
--------------------------------------------------------------------------------
函式:msql_regcase()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_regcase
将字串逐字传回大小写字元。
语法: string msql_regcase(string string);
传回值: 阵列
函式种类: 资料库功能
内容说明
本函式可将字串之字元逐字传回大小写。在 PHP 使用上,本函式没有什么作用,但可能可以提供外部程式或资料库处理。本函式即 sql_regcase()。
--------------------------------------------------------------------------------
函式:msql_result()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_result
取得查询 (query) 的结果。
语法: int msql_result(int query_identifier, int row, mixed [field]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式取得一格 query 的结果。参数 field 可以是栏位名称、顺序或者是 fieldname.tablename 的格式。在传回资料量少时,可以使用本函式来处理。当资料库大时,本函式的效率就有待考量了,这时可以使用较有效率的 msql_fetch_row()、msql_fetch_array() 或 msql_fetch_object() 等函式。
--------------------------------------------------------------------------------
函式:msql_select_db()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_select_db
选择一个资料库。
语法: boolean msql_select_db(string database_name, int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式选择 mSQL 伺服器中的资料库以供之后的资料查询作业 (query) 处理。成功传回 true,失败则传回 false。
参考
msql_connect() msql_pconnect() msql_query()
--------------------------------------------------------------------------------
函式:msql_selectdb()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_selectdb
选择一个资料库。
语法: boolean msql_selectdb(string database_name, int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式选择 mSQL 伺服器中的资料库以供之后的资料查询作业 (query) 处理。成功传回 true,失败则传回 false。本函式即 msql_select_db()。
参考
msql_connect() msql_pconnect() msql_query()
--------------------------------------------------------------------------------
函式:msql_tablename()
--------------------------------------------------------------------------------
mSQL 资料库函式库
msql_tablename
传回指定资料表的名称。
语法: string msql_tablename(int query_identifier, int field);
传回值: 字串
函式种类: 资料库功能
内容说明
本函式用来取得资料表栏位的名称。参数 query_identifier 为查询结果的 ID 代码。参数 field 为第几个栏位的数字。
使用范例
msql_connect ("localhost");
$result = msql_list_tables("userinfo");
$i = 0;
while ($i < msql_numrows($result)) {
$tb_names[$i] = msql_tablename($result, $i);
echo $tb_names[$i] . "
\n";
$i++;
}
?>