Mysql入门系列:如何处理MYSQL查询
2006-12-31 10:51:22 来源:WEB开发网核心提示: 处理结果集包括下面几个步骤:■ 通过调用mysql_store_result() 或mysql_use_result() 产生结果集,这些函数如果成功则返回MYSQL_RES 指针,Mysql入门系列:如何处理MYSQL查询(4),失败则返回N U LL,稍后我们将查看mysql_stor
处理结果集包括下面几个步骤:
■ 通过调用mysql_store_result() 或mysql_use_result() 产生结果集。这些函数如果成功则返回MYSQL_RES 指针,失败则返回N U LL。稍后我们将查看mysql_store_result() 与mysql_use_result() 的不同,以及选择其中一个而不选另一个时的情况。我们的样例使
用mysql_ store _ result( ),它能立即从服务器返回行,并将它们存储到客户机中。
■ 对结果集的每一行调用mysql_ fetch _ rows ( )。这个函数返回MYSQL_ROW 值,它是一个指向字符串数组的指针,字符串数组表示行中每列的值。要根据应用程序对行进行操作。可以只打印出列值,执行有关的统计计算,或者做些其他操作。当结果集中不再有行时, mysql_fetch_rows() 返回NULL。
■ 处理结果集时,调用mysql_free_result() 释放所使用的内存。如果忽略了这一点,则应用程序就会泄露出内存(对于长期运行的应用程序,适当地解决结果集是极其重要的;否则,会注意到系统将由一些过程所取代,这些过程消耗着经常增长的系统资源量)。
下面的样例轮廓介绍了如何处理返回结果集的查询:
我们通过调用函数process_result_set() 来处理每一行,这里有个窍门,因为我们并没有定义这个函数,所以需要这样做。通常,结果的处理集函数是基于下面的循环:
从mysql_fetch_row() 返回的MYSQL_ROW 值是一个指向数值数组的指针,因此,访问每个值就是访问row[i],这里i 的范围是从0到该行的列数减1。这里有几个关于MYSQL_ROW 数据类型的要点需要注意:
更多精彩
赞助商链接