mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in错误提示解决

原出现错误提示代码如下:

    $query="select first_name,last_name,gender,finish_name from runners order by finish_time asc";
    $result=db_connection($query);
    while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
        print_r($row);
    }
    function db_connection($query){
        $con=mysqli_connect("127.0.0.1", "root", "ding","hfjq_race_info")
            OR die('Could not connect to database.');
        $data=mysqli_query($con,$query);
        return $data;
    }

?>

经查询资料发现出现这个问题是因为查询出现了问题,查询失败,那么你应该查找错误出现在了什么地方,在$data = mysqli_query($con, $query);后加上这样一段代码,就能清楚的知道查询出现了什么问题,

        if (!$data) {
        printf("Error: %s\n", mysqli_error($con));}

代码修改后为:

    $query="select first_name,last_name,gender,finish_name from runners order by finish_time asc";
    $result=db_connection($query);
    while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
        print_r($row);
    }
    function db_connection($query){
        $con=mysqli_connect("127.0.0.1", "root", "ding","hfjq_race_info")
            OR die('Could not connect to database.');
        $data=mysqli_query($con,$query);
        if (!$data) {
        printf("Error: %s\n", mysqli_error($con));}
        return $data;
    }

?>

重新运行显示错误提示为:

Error: Unknown column 'finish_name' in 'field list'
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in H:\Program Files\apache-tomcat-7.0.91\webapps\ROOT\WEB-INF\phpbin\begin\service.php on line 4

发现在查询语句中写错列名,修改为finish_time后,可以正常显示结果了。

 

你可能感兴趣的:(jQuery,php,mysql)