上篇介绍了如用PHP连接上MySql进行,并进行sql语句的执行。但是我们没有介绍,如何输出处理的结果,如何获得处理的结果。
这里要先说明Mysql有两种查询处理模式,一种是有缓冲的查询处理模式,一种是没有缓冲的查询处理模式,对于有缓冲的查询处理模式,说白了就是在客户端把从服务器返回的结果集保存在内存中,当客户端要再次执行类似操作,或者需要这个结果集,查询效率就很快了,当然缺点是消耗内存。而没有缓冲的查询模式就是直接取从服务器上返回的结果集,而不需要为它在客户端多分配一块内存进行存储,而且在结果集还没全部出来时,客户端这边就可以进行取操作,例如取第一行。对于应该用那种模式,似情况而定。
我们先重点介绍没有缓存的查询模型。几个该模型的函数是:mysql_fetch_assoc(data);data是结果集的指针,从mysql_query返回回来的。
mysql_fetch_assoc()取出的数据后,你可以用print_r打印出来看看,会发现其实它就是一个数组,并且它取出的值是数据库中的一行,把这行全部取出了。这里要注意区别下mysql_fetch_array(),也是取出数据库中的一行,但是唯一的区别是,在取出的这行中,有增加了整型的索引。来存每个字段的值。
所依:
$conn = mysql_connect(SERVER,USENAME,PWD);//SERVER等都是定义好的常量
if($conn){
$sql = "******************";//写上你要执行的sql,假设是查询
$pResult = mysql_query($sql,$conn);//执行成功返回,指向结果集的指针。
while($Row = mysql_fetch_assoc($pResult)){//循环取出所有行。知道没有可以取的行,返回false
code.......
}
}
这就实现了取出结果集,这只是一种最基础的办法,后面会继续介绍其它方法。
By ACReaper
2013.07.23