web-dev-qa-db-ja.com

致命的なエラー:未定義の関数mysqli_result()の呼び出し

古い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()の呼び出し」というエラーが繰り返し表示されます

14
Cesarg219

この種のコードは使用しないでください。それは非常に非効率的です。代わりにmysqli_fetch_assoc()を使用してください:

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

実行しようとしている3つ以上ではなく、1つのデータベース操作。

18
Marc B
function mysqli_result($res, $row, $field=0) { 
    $res->data_seek($row);
    $datarow = $res->fetch_array();
    return $datarow[$field];
} 

この関数を作成できます

0
Roman Panevnyk