gpt4 book ai didi

php - MySQLi 相当于 mysql_result()?

转载 作者:IT王子 更新时间:2023-10-29 00:57:13 25 4
gpt4 key购买 nike

我正在将一些旧的 PHP 代码从 mysql 移植到 MySQLi,但遇到了一个小问题。

是否没有与旧的 mysql_result() 函数等效的函数?

我知道当您处理超过 1 行时 mysql_result() 比其他函数慢,但很多时候我只有 1 个结果和 1 个字段。使用它可以将 4 行压缩为 1 行。

旧代码:

if ($r && mysql_num_rows($r))  
$blarg = mysql_result($r, 0, 'blah');

所需代码:

if ($r && $r->num_rows)  
$blarg = $r->result(0, 'blah');

但是没有这样的东西。 :(

有什么我想念的吗?还是我将不得不接受它并制作所有内容:

if ($r && $r->num_rows)  
{
$row = $r->fetch_assoc();
$blarg = $row['blah'];
}

最佳答案

以下函数完全复制了 mysql_result() 函数,并在您的请求越界时返回 false(空结果,没有行)编号,没有该编号的列)。它确实有额外的好处,如果您没有指定行,它会假定为 0,0(要传递的值少一个)。该函数允许字段或字段名称的数值偏移。

function mysqli_result($res,$row=0,$col=0){ 
$numrows = mysqli_num_rows($res);
if ($numrows && $row <= ($numrows-1) && $row >=0){
mysqli_data_seek($res,$row);
$resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
if (isset($resrow[$col])){
return $resrow[$col];
}
}
return false;
}

关于php - MySQLi 相当于 mysql_result()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com