Code前端首页关于Code前端联系我们

PHP处理mysql结果集 mysql结果集

terry 2年前 (2023-09-30) 阅读数 39 #Mysql
文章标签 Mysql

本文内容列表:

  • 1. 在 php mysql 中检索结果集时出现问题? ?
  • 2. PHP PHP程序员与MySQL查询结果集
  • 3、PHP中使用mysqli处理查询结果集的多种方法

php mysql 检索结果集出现问题? ?

首先看传入的参数:第一个是资源类型的结果集,也就是mysql_query($sql)的返回值,第二个是传入的SQL语句。参数类型不同。

再看一下函数体:mysql_fetch_assoc($result)接受的传入类型是资源类型。它有两个可能的返回值。一种是如果结果集中有行记录,则返回该行记录,是关联数组类型。从如果没有行记录,即查询结果为空,则返回 false 布尔值。

看第一种方法。 while() 循环在求值条件为真时执行。这意味着如果 mysql_fetch_assoc($result) 不返回 false,即数据库查询后有一行记录,它将被放入循环体中。 $rs 的返回值被添加到 $row 数组中。 $row 将是一个二维数组,键为 0, 1, 2.,类型为 int。 。 。

您提到的另一个 getOne() 只会返回一行查询记录。如果没有记录,则返回 false。

您可以使用 print_r() 打印 getOne 和 getAll() 的结果。

例如数据库中有两条记录:id=1,name=aa; id=2, name=bb 然后 getAll() 打印

Array([0]=Array('id'=1 ,'name'='aa'),[1]=Array('id'= 2 , 'name'='bb'))

getOne print Array('id'=1,'name'='aa')[P 我是 PHP 新手,所以不排除解析错误]

PHP程序员PHP和MySQL查询结果集

?php

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

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

$query="插入计算机(名称、价格、post_data)";

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

$query="select * fromcomputers";

$result=mysql_query($query);

//下面是使用mysql_result()函数检索查询结果

$num=mysql_num_rows($result);

for ($rows_count=0;$rows_count$num;$rows_count++){

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

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

echo "发布日期:".mysql_result($result,$rows_count,"publish_data")."br";

}

//下面是使用mysql_fetch_row()函数检索查询结果

while($row=mysql_fetch_row($result))

{

echo "ISBN: ".$row[0] ."br ";

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

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

echo "发布日期:“ .$row[3]. "br";

echo "br";

}

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

while($row=mysql_fetch_array($result) )

{

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

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

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

echo "发布日期:".$row["publish_data"]."br";

echo "br";

}

//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."br";

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

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

echo "发布日期:".$row-publish_data."br";

echo "br";

}

?

完整对比

本节主要介绍4个检索查询结果集的函数,这里综合对比一下。单次调用。数据集中的行记录对于较大的数据集效率较低。

● mysql_fetch_row():优点是执行效率是四种方法中最高的;缺点是只能作为属性索引来检索属性值,只是数字。使用的时候非常容易出错。

● mysql_fetch_array():执行效率也很高,几乎与mysql_fetch_row()相同,并且可以通过属性名直接获取属性值,因此在实际应用中最常使用。

● mysql_fetch_object():采用面向对象的思想,设计思想比较先进。如果读者习惯用面向对象的思想编写程序,他们自然会喜欢它。其次,这种方法的优点还体现在,对于结构比较复杂的数据结果,逻辑更加清晰。

最后三个函数的共同点是,它们都是获取当前行的数据,然后自动滚动到下一行。有时候想要控制滑动行数,经常一起使用的一个函数是mysql_data_seek(),其定义为:

int mysql_data_seek(int result_identifier,int row_number)

调用此函数可以将 row_number 行移回到结果集中。下次调用 mysql_fetch_* 函数时,将在向后滚动 row_number 行后读取记录。

php中mysqli中处理查询结果集的多种方法

$sql="从用户中选择*"; $结果=$link-query($sql); $row=$result-fetch_all(MYSQLI_BOTH);//参数MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH决定要创建的数组类型

$n=0; while($nmysqli_num_rows($result)){ echo "ID:".$row[$n]["id"]."用户名:".$row[$n]["name" ]."密码:" . $row[$n]["密码"]."br /"; $n++;

}

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门