Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在目录名中给出_Php_Mysql_Arrays_Mysqli - Fatal编程技术网

Php mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在目录名中给出

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

我在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_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我的答案对你有用吗?我现在已经编辑了我的答案。你应该添加一个解释,说明什么/为什么有用,而原始答案没有…不,你没有。第二个参数有一个默认值。你应该给出一个例子,或者链接到文档以改进你的答案。