加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 提取mysqli查询结果的第n个元素

发布时间:2020-05-25 08:51:25 所属栏目:PHP 来源:互联网
导读:使用旧的 mysql_语法,我能够做到这样的事情: $query=mysql_query(select id from rank);for ($i=0; $i$max; $i++) {$id0[$i] = mysql_result($query, $i, id);$id1[$i] = mysql_result($query, $i+1, id);$id2[$i] = mysq

使用旧的 mysql_语法,我能够做到这样的事情:

$query=mysql_query('select id from rank');
for ($i=0; $i<$max; $i++) {
$id0[$i] = mysql_result($query,$i,"id");
$id1[$i] = mysql_result($query,$i+1,"id");
$id2[$i] = mysql_result($query,$i+2,"id");  }

我发现用mysqli达到相同的结果有很多困难;通常我使用函数mysqli_fetch_assoc($query)获取mysqli查询的数据,以逐行递归地提取查询结果中的所有记录.

如何获得我需要的结果,即在递归函数的每个循环中提取查询结果的第n,第n,第2个元素?我怎样才能引用id字段的第n个元素?我似乎不可能一次使用一行查询结果…

对不起,如果这个问题看起来很愚蠢,但我正在将使用mysql_语法制作的旧网站转换为mysqli_并且即使我尝试引用PHP.net文档(并且当然Stack Overflow知识……)……

编辑(问题已解决):
我按照Jeroen的建议解决了我的问题:fetch_all函数不可用,我通过循环创建了一个存储msqli查询结果的每一行的数组:

while ($row=mysqli_fetch_assoc($query)) 
    $table[]=$row;

以这种方式操作,使用通常的索引指向表的每个记录要容易得多:

for ($i=0; $i<$max; $i++) {
    $id0[$i]=$table[$i]["id"];
    $id1[$i]=$table[$i+1]["id"];
    $id2[$i]=$table[$i+2]["id"]; }
您可以使用 mysqli_data_seek()将结果指针设置为结果集中的任意行.

所以你的代码看起来像:

for ($i=0; $i<$max; $i++) {
  mysqli_data_seek($result,$i);
  // depending on your php version you might need a temporary variable to
  // get the ID
  $id0[$i] = mysqli_fetch_assoc($result)['id'];
  ...
}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读