2017-11-16 4 views
-3

私はPHPとPostgresを使っているプロジェクトを持っています。私は、ユーザーの入力から必要とされる1つのクラスからすべての情報を取得する関数を作成しようとしました。以下は、バージョンが動作しないです。コメント部分はかなりうまくいった部分ですが、私はターゲットを再利用するために関数に入れる必要があります。PHPでデータを取得する

function getInfoClass($classID) { 

     $query = "SELECT * FROM Class 
        WHERE ID = '{$classID}';"; 
     $result = pg_query($db, $query); 
     return pg_fetch_assoc($result); 
    } 

$row = getInfoClass($_SESSION["classID"]); 
echo $row['id']; 

//$query = "SELECT * FROM Class 
//   WHERE ID = '{$_SESSION["classID"]}';"; 
//$result = pg_query($db, $query); 

//while($row = pg_fetch_assoc($result)) { 
// echo $row['id']; 
//} 
+2

$ dbは、この機能の範囲では定義されていません。これが理由だろうか? –

+0

@OfirBaruchそれは@SonTungでなければなりません。関数 'global $ db;の先頭に書く必要があります。 –

答えて

0

ここでは、範囲の問題が発生している可能性があります。 $ dbが関数内で宣言されていないと確信しているので、PHP error_logを必ず読んでください。クラス内でクラスとクラスを定義している場合は、$ this-> dbを試してみてください。クラスを使用しない場合は、& $ db(byReference)というパラメータに追加します。

関連する問題