无法将mysql_result变量转换为mysqli

时间:2017-08-01 18:39:28

标签: php mysql mysqli

在搜索了一下后,我发现了同样的帖子,但没有什么特别有助于解决我的问题。

我正在通过我的代码更新mysql到mysqli,我正在努力将搜索结果转储到vars中。 使用while循环我处理每一行并将字段转储到vars中进行显示,然后重复直到所有行都显示出来(基本的搜索引擎结果)

我的原始代码有以下var类型(为方便起见,我会显示一个)

$title = mysql_result($rs,$i,"title"); 

“rs”是con和查询,i是行号,“title”是字段名称

我看到手册中有一些方法,mysqli_data_seek似乎是正确的路线,但是我根据我的编辑器将它吹到参数上(调用使用2个参数,我使用3个)

$title = mysqli_data_seek($rs,$i,"title");

我在while循环中有18个这样的变量,我怎样才能正常工作? (程序风格)

1 个答案:

答案 0 :(得分:0)

MySQLi库中没有mysql_result这样的方法。因此,您必须使用其中一种替代方案。要么运行

$allData = mysqli_fetch_all($rs, MYSQLI_ASSOC); // Has to be run only once for the result!
// And access data via
$title = $allData[ $i /* row-number */ ]['title'];
// Or (you didn't provide your current loop)
foreach($allData as $i => $row) {
    $title = $row['title'];
}

或运行

mysqli_data_seek($rs, $i); // Set pointer in mysqli to row-nr $i
$row = mysqli_fetch_assoc($rs);
$title = $row['title'];

或者运行(我猜是最优选的解决方案,但是你没有提供当前的循环):

// Loop over all rows in the result-set
while($row = mysqli_fetch_assoc($rs)) {
    $title = $row['title'];
}