数据库

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_setmysql_query函数返回的结果集对象。

获取列名称

mysql_field_name函数用于获取列的名称,其语法如下:

string mysql_field_name(result_set, int offset)

其中result_setmysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的名称。

获取列的数据类型

mysql_field_type 函数用于获取列的数据类型,其语法格式如下:

string mysql_field_type(result_set,int offset)

其中result_setmysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的数据类型。

获取列的长度

mysql_field_len函数用来获取列的长度,其语法格式如下:

int mysql_field_len(result_set,int offset)

其中result_setmysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的数据长度。

获取列的标志

mysql_field_flag函数用于获取列的标志。所谓标志,包括列的基本属性,其语法格式如下:

int mysql_field_flag(result_set,int offset)

其中result_setmysql_query函数返回的结果集对象,offset用来表示要返回的是第几列的标志。

results matching ""

    No results matching ""