首页 > 代码库 > 常用的PHP数据库操作方法(MYSQL版)

常用的PHP数据库操作方法(MYSQL版)

http://www.cnblogs.com/cosiray/archive/2011/12/21/2295795.html

一、数据库操作

1. 连接MYSQL数据

mysql_connect()

e.g.

$conn = mysql_connect($HOST, $USER, $PASSWORD) or die(mysql_error());

 2. 选择数据库

mysql_select_db()

连接上mysql数据库后,还要选择需要使用的具体数据库database

e.g.

mysql_select_db($database,$conn) or die(mysql_error());

3. 执行SQL语句

mysql_query()

该函数将SQL语句发送到当前活动的数据库并执行语句,返回结果

e.g.

$sql = “select * from table”;

$result = mysql_query($sql, $database) or die(mysql_error());

4. 关闭数据库

mysql_close()

该函数用于关闭不需要继续活跃的数据库,但该方法不是必须的,一般PHP会自动关闭不继续活跃的数据库

e.g.

mysql_close($database);

5. 释放SQL结果

mysql_free_result()

该函数用于释放mysql_query()执行结果占用的内存,该函数很少被调用,除非result很大,占用太多内存;一般在PHP脚本执行结束之后很自动释放占用的内存。

二、SQL执行结果操作

1. 返回执行结果中的一行

mysql_fetch_row()

返回执行结果的当前行的数值数组,执行这个函数后,结果指向下一行。

e.g.

$row = mysql_fetch_row($result);

处理执行结果一般放在while循环中,遍历每一行

e.g.

while($row = mysql_fetch_row($result))
{……}

2. mysql_fetch_row()的替代方法

mysql_fetch_array()

mysql_fetch_assoc()

mysql_fetch_array()返回键值对数组,键为查询的table的列名

mysql_fetch_assoc()返回结果时可以先排序(如果为可选参数赋值),相当于mysql_fetch_array()+MYSQL_ASSOC

3. 执行结果的字段(列)属性

mysql_fetch_field()

4. 查询数据库中的表名

mysql_list_tables()

e.g.

$db_name = MYSQL_DB;
$result = mysql_list_tables($db_name);
echo “数据库中包含如下表:”;
while ($row = mysql_fetch_row($result))
{
echo $row[0];
}

5. 查询数据库的列名(字段名)

mysql_list_fields()

e.g.

$fields = mysql_list_fields($db_name,$table);
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns; $i++)
echo  mysql_field_name($fields, $i);

三、其他函数

1. mysql_num_rows()

返回执行结果的行数。

e.g.

$num = mysql_num_rows($result);

2. mysql_num_fields()

返回执行结果的列数(字段数)。

e.g. $num = mysql_num_fields($result);

3.mysql_set_charset()

设置执行结果的编码,防止在网页中显示中文时乱码。

e.g.

$query = “select * from $table_name”;
mysql_query(‘set names utf8′);
$result = mysql_query($query, $db) or die(mysql_error($db));