2016-10-02 5 views
0

私はPHPで新しく、私は簡単なPHPスクリプトを実行しようとしています。これは、PHP 5.6でLAPPに接続していますし、私は簡単なテスト・データベース永続的なPHP 500のエラー

Peugeot  6666666 
Mercedes 57127 
Skoda  9000 
Volvo  29000 
Bentley  350000 
Citroen  21000 
Hummer  41400 
Volkswagen 21600 

にデータベースに問題を設定していません。問題は、データベースに正常に接続しているが、永続的な500エラーを表示するPHPスクリプトです。私のphp.iniファイルで

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
# $db = pg_connect("sslmode=require host=$host port=5432 dbname=$database user=$user password=$pass"); 
    if(!$db){ 
#  echo "Error : Unable to open database\n"; 
    } else { 
#  echo "Opened database successfully\n"; 
    } 

    $sql =<<<EOF 
     SELECT * from Cars; 
EOF; 

    $ret = pg_query($db, $sql); 
    if(!$ret){ 
     echo pg_last_error($db); 
     exit; 
    } 
# $myarray = array() 
    while($row = pg_fetch_row($ret)){ 
     $myarray[] = $row; 
    } 

# echo json_encode($myarray, JSON_NUMERIC_CHECK); 
    echo $myarray 
#  echo "Operation done successfully\n"; 


    pg_close($db); 
?> 

二行

error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

だけでなく、ライン

display_errors = On 

は迷惑500内部エラーを持つ上の違いはありません。 私のコードを手作業で1行ずつ読み込むと、配列($myarray = array())を定義すると、それをエコーするとき(echo $myarray)、エラーが表示されることに気付きました。唯一の回避策は、私がスキップしたいjson_encodeを使用することです。 私は2つの質問があります。

*なぜ私はまだ一般的な500エラーがありますか?

*なぜ、アレイを定義していて、それがクラッシュするだけですか?

+0

'; 'のコードを確認してください –

答えて

0

echo $myarrayの最後に;がありません。 変数を使用する前に変数を宣言することをお勧めします。 したがって、whileループで使用する前に$myarray = array();を使用してください。

+0

Arrghhh ....このセミコロンは、データベースに接続する残りのエラーをPHPで表示できませんでした。私の愚かな過失。ありがとうございました – Jimx

関連する問題