问题
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()"
回答1:
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.
回答2:
if (!function_exists('mysqli_result')) {
function mysqli_result($res, $row, $field=0) {
$res->data_seek($row);
$datarow = $res->fetch_array();
return $datarow[$field];
}
}
You can create this function.
来源:https://stackoverflow.com/questions/17707331/fatal-error-call-to-undefined-function-mysqli-result