如何正确理解PHP获取显示数据库数据函数

在运用PHP语言对数据库进行操作的时候,我们将会用到mysql_X这一函数库。下面我们将为大家详细介绍有关PHP获取显示数据库数据函数的函数。

PHP获取显示数据库数据函数之 mysql_result()

mixed mysql_result(resource result_set, int row [,mixed field])
从result_set 的指定row 中获取一个field 的数据. 简单但是效率低.

举例:

  1. $link1 = @mysql_connect("server1", 
    "webuser", "password")   
  2. or die("Could not connect 
    to mysql server!");  
  3. @mysql_select_db("company") 
    or die("Could not select database!");  
  4. $query = "select id, name 
    from product order by name"
    ;   
  5. $result = mysql_query($query);  
  6. $id = mysql_result($result, 0, "id");  
  7. $name = mysql_result($result, 0, "name");  
  8. mysql_close();  

注意,上述代码只是输出结果集中的第一条数据的字段值,如果要输出所有记录,需要循环处理.

for ($i = 0; $i <= mysql_num_rows($result); $i++)  


{  



$id = mysql_result($result, 0, "id");  




$name = mysql_result($result, 0, "name");  



echo "Product: $name ($id)";  


} 

注意,如果查询字段名是别名,则mysql_result中就使用别名.

PHP获取显示数据库数据函数之mysql_fetch_row()

array mysql_fetch_row(resource result_set)
从result_set中获取整行,把数据放入数组中.
举例(注意和list 的巧妙配合):

$query = "select id, 
name from product order by name";   



$result = mysql_query($query);  



while(list($id, $name) 
= mysql_fetch_row($result)) {  


echo "Product: $name ($id)";  


} 

PHP获取显示数据库数据函数之mysql_fetch_array()

array mysql_fetch_array(resource result_set [,int result_type])
mysql_fetch_row()的增强版.
将result_set的每一行获取为一个关联数组或/和数值索引数组.
默认获取两种数组,result_type可以设置:
MYSQL_ASSOC:返回关联数组,字段名=>字段值
MYSQL_NUM:返回数值索引数组.
MYSQL_BOTH:获取两种数组.因此每个字段可以按索引偏移引用,也可以按字段名引用.

举例:

$query = "select id,
 name from product order by name";  



$result = mysql_query($query);  




while($row = mysql_fetch_array
($result, MYSQL_BOTH)) {   




$name = $row['name'];




//或者 $name = $row[1];  




$name = $row['id'];




//或者 $name = $row[0];  



echo "Product: $name ($id)";  


} 

PHP获取显示数据库数据函数之mysql_fetch_assoc()

array mysql_fetch_assoc(resource result_set)
相当于 mysql_fetch_array($result, MYSQL_ASSOC)

PHP获取显示数据库数据函数之mysql_fetch_object()

object mysql_fetch_object(resource result_set)
和mysql_fetch_array()功能一样,不过返回的不是数组,而是一个对象.
举例:

相关推荐