首页 >后端开发 >php教程 >MySQLi 是否有与 mysql_result() 等效的函数?

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

Susan Sarandon
Susan Sarandon原创
2024-11-24 18:34:16294浏览

Is There a MySQLi Equivalent to the mysql_result() Function?

是否有相当于 MySQLi 的 mysql_result() 函数?

在将 PHP 代码从 MySQL 迁移到 MySQLi 的过程中,开发人员经常遇到缺少 mysql_result() 函数。虽然我们承认 mysql_result() 在处理多行时效率会降低,但它对于涉及单个结果和字段的场景的便利性是不可否认的。

最初表达在以下代码片段中:

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

所需的 MySQLi 等效项将采用以下形式:

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

但是,MySQLi 中不存在这样的函数默认曲目。

解决空白

为了弥补这一差距,出现了一个自定义函数来复制 mysql_result() 的功能:

function mysqli_result($res, $row=0, $col=0) { 
    $numrows = mysqli_num_rows($res); 
    if ($numrows &amp;&amp; $row <= ($numrows-1) &amp;&amp; $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;
}

该函数通过使用相同的语法保留了 mysql_result() 固有的便利性。如果指定的行或字段不在结果集范围内,则返回 false,确保数据检索的可靠。此外,它还可以容纳数字字段偏移和字段名称,以增强灵活性。

以上是MySQLi 是否有与 mysql_result() 等效的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn