Php mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在目录名中给出
我在php代码中遇到了一些问题。错误如下所示:Php mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在目录名中给出,php,mysql,arrays,mysqli,Php,Mysql,Arrays,Mysqli,我在php代码中遇到了一些问题。错误如下所示: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in directory name php代码是: <?php $edit_record = $_GET['edit']; $query = "select * from std_reg where student_id='edit_record'"; $run = mysqli_que
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in directory name
php代码是:
<?php
$edit_record = $_GET['edit'];
$query = "select * from std_reg where student_id='edit_record'";
$run = mysqli_query($conn, $query);
while($row = mysqli_fetch_array($run))
{
$id = $row['Student_id'];
$name = $row['name'];
}
?>
有人能帮忙吗?您必须将结果类型添加到
mysqli\u fetch\u数组中
请参阅:mysqli\u fetch\u数组(result,resulttype)代码>
$row
未在任何位置定义。在while
循环中,必须设置$row=mysqli\u fetch\u数组($run)
您没有正确地传递要查询的值<代码>$
此处缺少student\u id='edit\u record'
<?php
$edit_record = mysqli_real_escape_string($conn, $_GET['edit']);
$query = "SELECT * FROM std_reg WHERE student_id='$edit_record'";
$run = mysqli_query($conn, $query);
if($run)
{
while($row = mysqli_fetch_array($run))
{
$id = $row['Student_id'];
$name = $row['name'];
}
}
?>
为while循环指定行名,并添加$
以编辑查询中的记录
$edit_record = $_GET['edit'];
$query = "select * from std_reg where student_id='$edit_record'";
$run = mysqli_query($conn, $query);
while($row = mysqli_fetch_array($run))
{
$id = $row['Student_id'];
$name = $row['name'];
}
您应该真正使用mysqli\u fetch\u assoc
,而不是mysqli\u fetch\u数组
。它提供了所需的结果,而无需明确说明所需的数组类型。此查询:
$query = "select * from std_reg where student_id='edit_record'";
<?php
$edit_record = $_GET['edit'];$query = "select * from std_reg where student_id=".$edit_record; //Please try to observed the concatenation
$run = mysqli_query($conn, $query);
while($row = mysqli_fetch_assoc($run)) {
$id = $row['Student_id'];
$name = $row['name'];
}
?>
对于此查询:
$query = "select * from std_reg where student_id='edit_record'";
<?php
$edit_record = $_GET['edit'];$query = "select * from std_reg where student_id=".$edit_record; //Please try to observed the concatenation
$run = mysqli_query($conn, $query);
while($row = mysqli_fetch_assoc($run)) {
$id = $row['Student_id'];
$name = $row['name'];
}
?>
更改为而($row=mysqli\u fetch\u array($run))
仍然无法运行您的查询“选择*来自std\u reg,其中student\u id='$edit\u record'”
$run
是一个布尔值,因为您的查询失败。在输入while
循环之前添加一些错误检查。@ImranKhan我已更新了我的答案<代码>$
此处缺少student\u id='edit\u record'
@ImranKhan我的答案对你有用吗?我现在已经编辑了我的答案。你应该添加一个解释,说明什么/为什么有用,而原始答案没有…不,你没有。第二个参数有一个默认值。你应该给出一个例子,或者链接到文档以改进你的答案。