2013-05-14 122 views
0

Iam使用php爲使用php的ios應用程序提供使用json的數據。但在瀏覽器中運行代碼時,它顯示服務器錯誤。如果數據庫中沒有值,則顯示代碼中提供的{"posts":null}。但是,如果數據庫中存在值,則會出現問題。它顯示錯誤

Server error The website encountered an error while retrieving http://path to the server file/php/categoryitemlisting.php?category=11. It may be down for maintenance or configured incorrectly. Here are some suggestions: Reload this webpage later. HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request. 此錯誤只發生在這個php文件中。使用其他文件,我可以傳輸數據。Drupal中的HTTP錯誤500(內部服務器錯誤)

我connection.php文件:

<?php 
$link = mysql_connect("127.0.0.1","root","") or die('Cannot connect to the DB'); 
mysql_set_charset("utf8"); 
mysql_select_db('cotton',$link) or die('Cannot select the DB'); 
?> 

Categoryitemlisting.php

<?php 

    require('connection.php'); 
    $item = array()  ; 

    /* connect to the db */ 
     if(isset($_REQUEST['category'])) 
     { 
      $k=$_REQUEST['category']; 
     /* grab the posts from the db */ 
      // $k=11; 
      $catid = mysql_query("SELECT entity_id FROM field_data_field_cat WHERE field_cat_tid= $k"); 
      while($r = mysql_fetch_assoc($catid)) 
      { 

       $category[] = $r['entity_id']; 
       foreach ($category as $cat); 
       { 

       $data= mysql_query("SELECT field_data_field_name.entity_id, field_data_field_name.field_name_value, file_managed.uri, field_data_field_sec.field_sec_tid FROM file_managed INNER JOIN (field_data_field_thumb, field_data_field_name, field_data_field_sec) ON (file_managed.fid = field_data_field_thumb.field_thumb_fid AND field_data_field_name.entity_id = field_data_field_thumb.entity_id AND field_data_field_thumb.entity_id = field_data_field_sec.entity_id) WHERE field_data_field_name.entity_id = $cat"); 

       $items = mysql_fetch_assoc($data); 
       $item[]= $items; 
       } 
      } 
       $re="public:\/\/"; 
       $list = json_encode(array('posts'=>$item)); 
      $list = str_replace($re, "http://localhost/sites/default/files/" ,$list); 
       echo $list; 

      @mysql_close($link); 

     } 

     else 
     { 
     echo "connection failed"; 
     } 
?> 

我如何通過修復此錯誤的獲取值?我不認爲這是服務器的問題。如果代碼中有任何其他錯誤?

回答

0

最後指出問題....

有一個在服務器代碼$k=$_REQUEST[' category'];的空間。這導致了錯誤。

0

查找到YOUT php.ini並設置:

display_errors = on
error_reporting = E_ALL

如果display_error是關閉的,你有你的代碼中的任何類型的問題(如:分析錯誤)你的反應將是一個500狀態頁面。

+0

display_errors和error_reporting在我的php.ini中都是一樣的。但錯誤仍然相同 – anu 2013-05-15 05:20:45