mysql 获取select结果_php操作mysql获取select 结果的几种方法

如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。

用 MYSQL_ASSOC 只得到关联索引(如同mysql_fetch_assoc() 那样),

用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row 那样)。

1. mysql_fetch_array($rs,MYSQL_ASSOC)

[@test01 model]# php test.php

Array

(

[name] => hellokitty

[addr] => i dont kno

)

[@test01 model]# more test.php

$link=mysql_connect("10.12.136.181","hello","hello");

if(!$link)

echo "没有连接成功!";

mysql_select_db("hhhhh", $link);

$q = "SELECT * FROM hello";

mysql_query("SET NAMES GB2312");

$rs = mysql_query($q);

if(!$rs)

{

die("Valid result!");

}

$result=mysql_fetch_array($rs,MYSQL_ASSOC);

print_r($result);

mysql_free_result($rs);

?>

2.mysql_fetch_array($rs,MYSQL_BOTH);获取数组

[@test01 model]# more test.php

$link=mysql_connect("10.12.136.181","hello","hello");

if(!$link)

echo "没有连接成功!";

mysql_select_db("hhhhh", $link);

$q = "SELECT * FROM hello";

mysql_query("SET NAMES GB2312");

$rs = mysql_query($q);

if(!$rs)

{

die("Valid result!");

}

$result=mysql_fetch_array($rs,MYSQL_ASSOC);

print_r($result);

mysql_free_result($rs);

?>

[@test01 model]# vim test.php

[@test01 model]# php test.php

Array

(

[0] => hellokitty

[name] => hellokitty

[1] => i dont kno

[addr] => i dont kno

)

[@test01 model]#

3.mysql_fetch_array($rs,MYSQL_NUM) 获取数组

[@test01 model]# php test.php

Array

(

[0] => hellokitty

[1] => i dont kno

)

[@test01 model]# more test.php

$link=mysql_connect("10.12.136.181","hello","hello");

if(!$link)

echo "没有连接成功!";

mysql_select_db("hhhhh", $link);

$q = "SELECT * FROM hello";

mysql_query("SET NAMES GB2312");

$rs = mysql_query($q);

if(!$rs)

{

die("Valid result!");

}

$result=mysql_fetch_array($rs,MYSQL_NUM);

print_r($result);

mysql_free_result($rs);

?>

[@test01 model]#

下面是补充:

php获取结果集的几个方法

$conn=mysql_connect("localhost","root","");

$select=mysql_select_db("books",$conn);

$query="insert into computers(name,price,publish_data) ";

$query.="values('JSP',28.00,'2008-11-1')";

$query="select * from computers";

$result=mysql_query($query);

//以下是使用mysql_result()函数来获取到查询结果

$num=mysql_num_rows($result);

for($rows_count=0;$rows_count

echo "书名:".mysql_result($result,$rows_count,"name");

echo "价格:".mysql_result($result,$rows_count,"price");

echo "出版日期:".mysql_result($result,$rows_count,"publish_data")."
";

}

//以下是使用mysql_fetch_row()函数来获取到查询结果

while($row=mysql_fetch_row($result))

{

echo "书号:".$row[0]."
";

echo "书名:".$row[1]."
";

echo "价格:".$row[2]."
";

echo "出版日期:".$row[3]."
";

echo "
";

}

//以下是使用mysql_fetch_array()函数来获取到查询结果

while($row=mysql_fetch_array($result))

{

echo "书号:".$row[0]."
";

echo "书名:".$row[1]."
";

echo "价格:".$row["price"]."
";

echo "出版日期:".$row["publish_data"]."
";

echo "
";

}

//mysql_fetch_assoc()同mysql_fetch_array($result,MYSQL_ASSOC)一样

while($row = mysql_fetch_assoc($res)){

echo $row['price'].'::'.$row['publish_data'].”;

} //$row[0]不能取值

//以下是使用mysql_fetch_object()函数来获取到查询结果

while($row=mysql_fetch_object($result))

{

echo "书号:".$row->id."
";

echo "书名:".$row->name."
";

echo "价格:".$row->price."
";

echo "出版日期:".$row->publish_data."
";

echo "
";

}

?>

综合比较

本节主要介绍了获取查询结果集的4个函数,此处对它们进行综合比较。

● mysql_result():优点在于使用方便;而缺点在于功能少,一次调用只能获取结果数据集中的一行记录,对较大型的数据库效率较低。

● mysql_fetch_row():优点在于执行效率在4种方法中最高;不足在于只能用数字作为属性索引来获得属性值,在使用时非常容易出现混淆。

● mysql_fetch_array():执行效率同样很高,同mysql_fetch_row()相差无几,并且可以用属性名方式直接获取得属性值,因此,在实际应用中最常用。

● mysql_fetch_object():采用了面向对象的思想,在设计思路上更为先进,如果读者习惯于面向对象的思路来写程序,则会很自然的选择它。其次,该方法的优点还体现在,对于结构较为复杂的数据结果,在逻辑上显得更为清晰。

后3个函数的共同点在于,都是取得当前行的数据,然后自动滑向后一行。有时候,希望控制滑动的行数,这是常常搭配使用的一个函数是mysql_data_seek(),其定义为:

int mysql_data_seek(int result_identifier,int row_number)

调用该函数可以在结果集中向后滑动row_number行,在下一次调用mysql_fetch_*函数时,读取的将是向后滑动row_number行后的记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值