mysqli_fetch_array()期望参数1是mysqli_result警告

时间:2017-02-23 05:34:12

标签: php indexing undefined

我的php文件中出现以下错误:

  

注意:未定义的索引:q在C:\ xampp \ htdocs \ medphil \ getpatient.php中   在第22行

     

警告:mysqli_fetch_array()期望参数1为mysqli_result,   第46行的C:\ xampp \ htdocs \ medphil \ getpatient.php中给出的布尔值

这是我的代码请帮我解决这个问题

"name":("\w+"),"value":("?\w+"?)

2 个答案:

答案 0 :(得分:0)

  

@afra raheem这是因为你的$ _GET [' q']没有设置所以只是做一个   你的PHP代码如下所示:

<?php
    $q = isset($_GET['q']) ? intval($_GET['q']) : "";

    if(!empty($q) && is_int($q)){
        $con = mysqli_connect('localhost','root','','medphil');
        if (!$con) {
            die('Could not connect: ' . mysqli_error($con));
        }

        mysqli_select_db($con, "medphil");
        $sql="SELECT * FROM patients WHERE id = '".$q."'";
        $result = mysqli_query($con,$sql);

        echo "<table>
        <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>username</th>
        <th>password</th>
        <th>dateofbirth</th>
        <th>email</th>
        <th>Patientaddress</th>
        <th>LastLDNId</th>
        </tr>";
        while($row = mysqli_fetch_array($result,true)) {
            echo "<tr>";
            echo "<td>" . $row['FirstName'] . "</td>";
            echo "<td>" . $row['LastName'] . "</td>";
            echo "<td>" . $row['username'] . "</td>";
            echo "<td>" . $row['password'] . "</td>";
            echo "<td>" . $row['dateofbirth'] . "</td>";
            echo "<td>" . $row['email'] . "</td>";
            echo "<td>" . $row['Patientaddress'] . "</td>";
            echo "<td>" . $row['LastLDNId'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        mysqli_close($con);
    }
    else{
        echo "q can not be empty";
    }
?>

答案 1 :(得分:-1)

@afra raheem
您收到此错误是因为mysqli_fetch_array()需要mysqli结果变量,并且您的查询结果变量为emptyboolean false

您将获得结果变量emptyboolean false,因此您需要在查询中传递id字段值,而您传递$q变量= $_GET['q']是没有设置,直到你没有通过YOURFILE.php?q=YOUR VALUE,如果在URL中传递此值或使用编程方式设置它,那么你的代码工作正常。