2016-08-16 61 views
-2

它剛剛工作正常,我得到JSON響應,這是一個JSON對象數組現在它顯示一個空白頁面,我不知道爲什麼!任何人都可以確定這裏有什麼問題嗎? 這裏是PHP代碼: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); 
} 
?> 
+0

請格式化代碼以消除滾動。 – zhon

+0

$ con = mysqli_connect($ host ...沒有「」 –

+0

@Jonasw雖然不會解決任何問題 – PeeHaa

回答

0

有在這裏

首先你混合數據庫訪問的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); 
} 
?> 
+0

非常感謝! –