PHP文件突然停止工作,显示空白页


PHP file suddenly stopped working, shows blank page

刚才工作很好,我得到JSON响应,这是一个JSON对象数组,现在它显示一个空白页,我不知道为什么!谁能找出问题所在吗?下面是PHP代码:

<?php

$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="tourist"; // Database name 
// Connect to server and select databse.
$con = mysqli_connect("$host", "$username", "$password","$db_name")or die("cannot connect");

if($con){
    mysqli_set_charset($con ,'utf8');
    $qry = "SELECT * FROM places";
    $query=mysqli_query($con ,$qry);       
    if (!$query) {
         $message  = 'Invalid query: ' . mysql_error() . "'n";
         $message .= 'Whole query: ' . $qry;
         die($message);
    }
    $return_arr = array();
    $row_array = array();
    $num_rows = mysqli_num_rows($query);
    if ($num_rows > 0) {
        while ($r = mysqli_fetch_array($query)) {
            $row_array['place_id'] = $r['place_id'];
            $row_array['place_name'] = $r['place_name'];
            //echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
            //$row_array['image'] =  "http://localhost/tourist/". $r['db_image'];  //.'" alt='"'" /"';
            $row_array['image'] = "tourist/".$r['db_image'];
            $row_array['des'] = $r['description'];
            header('Content-Type: application/json');
            array_push($return_arr,$row_array);
        }
        return json_encode($return_arr);
    } else { 
        $return_arr['place_name'] = 'ERRO - Place inexistente'; 
    }
    header('Content-Type: application/json');
    echo json_encode($return_arr);
    return json_encode($return_arr);
    mysqli_close($con);
} else { 
    $return_arr['place_name'] = 'ERRO - failure';
    echo json_encode($return_arr);
    return json_encode($return_arr);
}
?>

这里有一些错误

首先你是混合数据库访问API的你不能使用mysql_mysqli_调用。当你与mysqli_连接时,坚持使用

其次,你不使用return,除非你是在一个功能。当你使用它时,它会在正常代码流中遇到的第一个脚本中杀死脚本,当然不会将数据发送回浏览器。

<?php

$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="tourist"; // Database name 
// Connect to server and select databse.
$con = mysqli_connect("$host", "$username", "$password","$db_name")or die("cannot connect");

if($con){
    mysqli_set_charset($con ,'utf8');
    $qry = "SELECT * FROM places";
    $query=mysqli_query($con ,$qry);       
    if (!$query) {
        //$message  = 'Invalid query: ' . mysql_error() . "'n";
        $message  = 'Invalid query: ' . mysqli_error($con) . "'n";
        $message .= 'Whole query: ' . $qry;
        die($message);
    }
    $return_arr = array();
    $row_array = array();
    $num_rows = mysqli_num_rows($query);
    if ($num_rows > 0) {
        while ($r = mysqli_fetch_array($query)) {
            $row_array['place_id'] = $r['place_id'];
            $row_array['place_name'] = $r['place_name'];
            //echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
            //$row_array['image'] =  "http://localhost/tourist/". $r['db_image'];  //.'" alt='"'" /"';
            $row_array['image'] = "tourist/".$r['db_image'];
            $row_array['des'] = $r['description'];
            header('Content-Type: application/json');
            array_push($return_arr,$row_array);
        }
        // This will be terminating the script
        //return json_encode($return_arr);
    } else { 
        $return_arr['place_name'] = 'ERRO - Place inexistente'; 
    }
    header('Content-Type: application/json');
    echo json_encode($return_arr);
    // not needed
    //return json_encode($return_arr);
    mysqli_close($con);
} else { 
    $return_arr['place_name'] = 'ERRO - failure';
    echo json_encode($return_arr);
    // Not needed
    //return json_encode($return_arr);
}
?>