Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
981 views
in Technique[技术] by (71.8m points)

php - Fatal error: Call to undefined function mysqli_result()

Can someone please tell me why this doesnt work, when I tried to switch my old sql to 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");

to:

$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");`

it keeps giving me an error of: "Fatal error: Call to undefined function mysqli_result()"

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Don't use this kind of code. It's highly inefficient. Use mysqli_fetch_assoc() instead:

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

One SINGLE database operation, rather than the 3+ you're trying to do.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...