是否有相当于 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 && $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; }
该函数通过使用相同的语法保留了 mysql_result() 固有的便利性。如果指定的行或字段不在结果集范围内,则返回 false,确保数据检索的可靠。此外,它还可以容纳数字字段偏移和字段名称,以增强灵活性。
以上是MySQLi 是否有与 mysql_result() 等效的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!