试图理解' mysqli_fetch_array'我没有举个例子

时间:2014-07-27 16:24:01

标签: mysqli

以下代码是最简单的我可以让我了解如何使用' mysqli_fetch_array'。

<?php
require ('mysqli_connect.php'); 
$sql="SELECT 'fname', 'email', 'pass' FROM 'list'";
$row=mysqli_fetch_array($result,MYSQLI_NUM);
while ($row !== NULL)
{
echo $row[0] . '. ' . $row[1] . ' ' . $row[2];
echo '<br />';
}
mysqli_close($dbcon);
?>

该代码产生以下错误消息:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\test\mysqli_connect_test.php on line 5

有人可以告诉我如何使代码有效吗?什么&#34; MYSQLI_NUM&#34;代表? 感谢

2 个答案:

答案 0 :(得分:1)

你的代码有很多错误。观察:

require 'mysqli_connect.php';

$sql = "SELECT `fname`, `email`, `pass` FROM `list`"; // #1
$result = $dbcon->query($sql); // #2
while ($row = $result->fetch_array(MYSQLI_NUM)) // #3
{
    echo "{$row[0]}. {$row[1]}. {$row[2]}<br>";
}
$dbcon->close();

注意#1:''是MySQL对象名称的无效包装器。 ''应仅用于包装字符串。此外,除非对象名称恰好是保留字,否则你不必真正包装它们。

注意#2:您必须执行查询才能生成$result

注意#3:你必须在每个循环中运行fetch_array()而不是只运行一次,否则$row的值永远不会改变,它将是一个无限循环。

考虑使用mysqli类方法而不是独立函数。代码看起来更干净,更有意义。像mysqli_query()这样的功能只是为了与call_user_func()call_user_func_array()向后兼容。

答案 1 :(得分:0)

您共享的代码部分我可以看到您没有定义$ result变量,请确保使用mysqli_query()

定义该变量
<?php
$con =require ('mysqli_connect.php'); 
$sql="SELECT 'fname', 'email', 'pass' FROM 'list'";
$result = mysqli_query($con,$sql);//You forgot to define this variable
$row=mysqli_fetch_array($result,MYSQLI_NUM);
while ($row !== NULL)
{
echo $row[0] . '. ' . $row[1] . ' ' . $row[2];
echo '<br />';
}
mysqli_close($dbcon);
?>

mysqli_query是执行sql命令的函数。如果你省略了没有任何工作。