PHP

[PHP] php操作mysql总结

2016-03-02  本文已影响124人  何幻

(1)连接数据库服务器

$connection=mysql_connect('localhost','root','');

<u></u>mysql_connect用来打开非持久的mysql连接。
它接受3个参数:服务器地址,用户名,密码
如果成功则返回一个mysql连接标识,失败则返回false

注意:
脚本一结束,到服务器的连接就被关闭。
除非之前已经明确调用mysql_close($connection)关闭了。
要创建一个持久连接,使用mysql_pconnect函数。

(2)选择数据库

mysql_select_db('db_name',$connection);

<u></u>mysql_select_db用来设置活动的mysql数据库。
它接受2个参数:数据库名,连接标识(可选,如果未指定,则使用上一个连接)
如果成功则返回true,失败则返回false。

(3)连接数据库的时候指定编码

使php写入mysql的编码为utf-8。

php5.2.3以及mysql5.0.7之后建议使用:

mysql_set_charset('utf8',$connection);

不建议使用:

mysql_query('SET NAME utf8',$connection);

(4)执行sql语句

$sql=" SELECT * FROM` gosun_activity `";
$result=mysql_query($sql);

<u></u>mysql_query用来执行一条mysql查询。
它接受2个参数:查询字符串,连接标识(可选,如果未规定,则使用上一个打开的连接)
<u></u>mysql_query仅对SELECTSHOWEXPLAINDESCRIBE语句返回一个资源标识符(结果集),如果查询执行不正确则返回false。对于其他类型的sql语句,mysql_query在执行成功时返回true,出错时返回false。

注意:
查询字符串不应以分号结束。
如果没有打开的连接,本函数会尝试无参数调用mysql_connect函数来建立一个连接并使用。
非false的返回值,意味着查询是合法的,并能够被服务器执行,这并不说明任何有关影响到的或返回的行数,很有可能一条查询执行成功了但并未影响到或并未返回任何行。
该函数会自动对记录集进行读取和缓存,如需进行非缓存查询,使用mysql_unbuffered_query

(5)获得返回行数

$supportNumber=mysql_num_rows($result);

<u></u>mysql_num_rows用来返回结果集中行的数目。
它接受1个参数:结果集。

注意:
此命令仅对SELECT语句有效。
要取得被INSERTUPDATE,或者DELETE查询所影响到的行的数目,使用mysql_affected_rows
如果使用mysql_unbuffered_query,则直到结果集中的所有行都被提取后mysql_num_rows才能返回正确的值。

(6)获得结果集的下一行

$row=mysql_fetch_array($result);

<u></u>mysql_fetch_array用来从结果集中取得一行作为数组。
(关联数组,数字数组,或二者兼有)
如果没有更多的行,则返回false。
它接受2个参数:数据指针,结果类型
数据指针,是mysql_query的返回值。
结果类型,MYSQL_ASSOC关联数组,MYSQL_NUM数字数组,MYSQL_BOTH默认(同时产生关联和数字数组)

注意:
<u></u>mysql_fetch_arraymysql_fetch_row的扩展版本,除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
mysql_fetch_array并不明显比用mysql_fetch_row慢,而且还明显提供了更多的值。
字段名是区分大小写的。

上一篇下一篇

猜你喜欢

热点阅读