16

当我尝试将旧 sql 切换到 sqli 时,有人可以告诉我为什么这不起作用:

$query = "SELECT * FROM `product_category`";
$result = mysql_query($query, $connect) or die("could not perform query: " . mysql_error());
$num_rows = mysql_num_rows($result);

for ($i=0; $i < $num_rows; $i++)
{
    $ID = mysql_result($result,$i,"ID");
    $name = mysql_result($result,$i,"name");
    $description = mysql_result($result,$i,"description");

至:

$query = ("SELECT * FROM `product_category`");
$result = mysqli_query($connect, $query) or die("could not perform query");
$num_rows = mysqli_num_rows($result);

for ($i=0; $i < $num_rows; $i++)
{
    $ID = mysqli_result($result, "ID");
    $name = mysqli_result($result,$i,"name");
    $description = mysqli_result($result,$i,"description");`

它一直给我一个错误:“致命错误:调用未定义的函数mysqli_result()”

4

2 回答 2

21

不要使用这种代码。这是非常低效的。改用mysqli_fetch_assoc()

while($row = mysqli_fetch_assoc($result)) {
   $id = $row['ID'];
   $name = $row['name']; 
   etc..
}

一个 SINGLE 数据库操作,而不是您尝试执行的 3+ 个。

于 2013-07-17T18:24:16.877 回答
7
if (!function_exists('mysqli_result')) {
  function mysqli_result($res, $row, $field=0) {
    $res->data_seek($row);
    $datarow = $res->fetch_array();
    return $datarow[$field];
  }
}

您可以创建此功能。

于 2019-04-17T08:05:51.473 回答