以下代码是最简单的我可以让我了解如何使用' 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;代表? 感谢
答案 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命令的函数。如果你省略了没有任何工作。