数据库
PHP操作数据库
PHP操作数据库是通过MYSQL扩展来实现的,php.ini文件中的extension参数用于配置PHP的扩展库。用法如下:
extension=<filename>
其中,filename指代扩展库的文件名,MYSQL的扩展加文件名为php_mysql.dll,因此,可以通过查看php.ini文件中是否包含以下语句来检查当前的PHP环境中的MYSQL是否可用。
如果这个语句不存在,则需要在php.ini文件的未尾添加这条语句。添加后重新启动Apache服务器即可。
数据库的连接与断开
连接
连接数据库服务器通过mysql_connect函数来实现,语法格式工如下:
mysql_connect(string hostname [, string username [, string password]]);
这里的hostname是数据库服务器所在的主机地址或IP,username是库连用户名,password是连接密码。该函数返回一个资源类型的变量用来提供与数据库的库接。
断开
与数据库服务器断开通过mysql_close函数来完成
选择数据库
选择数据库通过mysql_select_db函数来实现,语法格式如下:
bool mysql_select_db(string database_name [, resource_id])
这里的database_name是要选择的数据库名,resource_id是前面连接数据库是返回的对象。
执行SQL语句
通过mysql_query函数来执行SQL语句,语法格式如下:
mysql_query(string sql_statement [,resource_id])
这里的sql_statement是要执行的SQL语句,resource_id是前面连接数据库是返回的对象。该函数返回一个资源型变量,用来存储SQL的执行结果。
除了mysql_query以外,PHP还提供了一个类似的函数mysql_db_query,该函数完成与mysql_query完成相同的功能。区别在于mysql_db_query函数支持在执行SQL语句的同时选择数据库。语法格式如下:
mysql_db_query(string database_name, string sql_statement [,resource_id])
这里的database_name是要选择的数据库名,sql_statement是要执行的SQL语句,resource_id是前面连接数据时返回的对象,与mysql_query中的参数用法相同。
获得查询记录数
mysql_numrows函数用于获得结果集中的记录数,语法格式如下:
int mysql_numrows(result_set)
其中,result_set是前而返回的结果集变量名。该函数返回一个整型变量表示结果集中一共有多少条数据。
获得结果集中的某条记录
mysql_result函数用于获得结果集中的记录数,语法格式如下:
mysql_result(result_set, int row [,field])
其中result_set是前面返回的结果集变量名,row是要返回记录所在行的行号,field是要返回的列名。
读取结果集
mysql_fetch_row函数用于读取结果集中的记录,语法格式如下:
mysql_fetch_row(result_set)
其中,result_set是前面返回的结果集变量名。返回一个包含所有列的数组,数组的键按照列的顺序分配。
mysql_fetch_array(result_set [,int type])
其中result_set是前面返回的结果集变量,type可以使用下面值中的一种:
- MYSQL_ASSOC:返回的数组的刍为数据库表中的列名
- MYSQL_NUM:返回的数组的键为数字。如果使用这个选项,则功能与
mysql_fetch_row函数相同 - MYSQL_BOTH:返回的数组的键为数据库中的列名和数字。默认为这个选项。
获取数据库信息
mysql_list_dbs函数用于获取数据库列表,其语法如下:
mysql_list_dbs([resource_id])
这里的resource_id是前面连接数据时返回的对象,该函数返回一个包含服务器上所有数据库名称的结果集。该结果集与使用mysql_query函数得到的结果集相同。
获取表信息
mysql_list_tables函数用于获取表的信息,其语法如下:
mysql_list_tables(string database_name [, resource_id])
这里的database_name是数据库名,resource_id是前面连接数据库时返回的对象。该函数返回了一个包含有服务器上所有数据库名称的结果集,该结果集与mysql_query函数得到的结果集相同。
获取列的数目
mysql_num_fields函数用于获取列的数目,其语法如下:
int mysql_num_fields(result_set)
其中result_set是mysql_query函数返回的结果集对象。
获取列名称
mysql_field_name函数用于获取列的名称,其语法如下:
string mysql_field_name(result_set, int offset)
其中result_set是mysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的名称。
获取列的数据类型
mysql_field_type 函数用于获取列的数据类型,其语法格式如下:
string mysql_field_type(result_set,int offset)
其中result_set是mysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的数据类型。
获取列的长度
mysql_field_len函数用来获取列的长度,其语法格式如下:
int mysql_field_len(result_set,int offset)
其中result_set是mysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的数据长度。
获取列的标志
mysql_field_flag函数用于获取列的标志。所谓标志,包括列的基本属性,其语法格式如下:
int mysql_field_flag(result_set,int offset)
其中result_set是mysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的标志。