(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仅对SELECT,SHOW,EXPLAIN或DESCRIBE语句返回一个资源标识符(结果集),如果查询执行不正确则返回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语句有效。
要取得被INSERT,UPDATE,或者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_array是mysql_fetch_row的扩展版本,除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
用mysql_fetch_array并不明显比用mysql_fetch_row慢,而且还明显提供了更多的值。
字段名是区分大小写的。