正如同手册所述,mysql_query()何mysql_real_query()的返回值为0只表示查询成功,查询的结果这时还不知道,因为只是在服务器上操作。利用mysql_store_result()或者mysql_use_result()才能把结果集保存下来,把数据传输到客户端。所以,mysql_query()没有办法判断查询的结果集是否是空的,这是mysql_fetch_row()的事了。
  其实还应考虑到另一种情况,就是查询不返回结果集,比如UPDATE、DELETE等,这时应该利用mysql_field_count()来判断查询是否返回结果集。
  手册中的C API部分其实解释很详细了。