【发布时间】:2013-07-16 10:49:56
【问题描述】:
当我尝试将旧 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()”
【问题讨论】:
-
mysqli_error()的电话在哪里?您需要将连接变量作为参数传递给它。 -
没有
mysqli_result()函数。您可以提供自己的来模拟mysql_result()函数的行为,但您并不想这样做。最好使用较新的模型,只需调用mysqli_fetch_assoc()函数即可。并且不需要获取行数和 for 循环。只需使用一个while循环。mysqli_fetch_assoc()函数将在没有更多行要获取时返回 FALSE,从而使您退出循环。请参阅 Marc B 的答案。 -
当你使用一个开源项目并且他们只从一列中选择一个值并且你必须修复它,因为它到处都坏了......该死的 Salazar!
标签: php mysql database mysqli database-connection