2016-09-24 4 views
0

私は私のPHPファイルにクエリの更新を持っています。私は、このファイルを実行すると、エラーPHPで私のクエリの更新のエラー

<?php 
session_start(); 

$conn = pg_connect("host=localhost port=5432 dbname=alc user=postgres password=postgres"); 

$training_id= "SELECT m.training_mst_id FROM tbl_user u, training_mst m WHERE u.user_id = m.trainer_id AND m.start_traning >= now() AND m.end_traning <= now() AND m.trainer_id = ".$_SESSION['user_id']; 
$result = pg_query($conn,$training_id); 
$query = "UPDATE training_mst set status='TRUE' where training_mst_id= ".$training_id; 
$result2 = pg_query($conn,$query); 

?> 
ないときは、すでにiデータベース・クエリで裁判上しかし、私のクエリはerror.but

私のエラー:@Geralシュナイダーが指摘したように

Warning: pg_query(): Query failed: ERROR: syntax error at or near "SELECT" LINE 1: ...ning_mst set status='TRUE' where training_mst_id= SELECT m.t...^in D:\xampp\htdocs\FeedbackALC\sistemuser\open_feedback.php on line 9

+1

あなたの変数 '$ training_id'には、IDではなく以前のsqlクエリが含まれています。 –

+0

コードの入力ミス(トレーニングの代わりにトランケーション) ... m.start_training> = now()AND m.end_training <= now()... – gavgrif

答えて

1

、 2番目のsqlステートメントの値として使用している変数は、結果ではなく元のsqlクエリです。最初のレコードセットから必要な値を取得する必要があります。以下はテストされませんが、続行方法の指示が表示される場合があります。

<?php 
    session_start(); 

    $conn = pg_connect("host=localhost port=5432 dbname=alc user=postgres password=postgres"); 

    $training_id= "SELECT m.training_mst_id FROM tbl_user u, training_mst m WHERE u.user_id = m.trainer_id AND m.start_traning >= now() AND m.end_traning <= now() AND m.trainer_id = ".$_SESSION['user_id']; 
    $result = pg_query($conn,$training_id); 

    if($result){ 

     $data=pg_fetch_object($result); 
     $id=$data->training_mst_id; 

     $query = "UPDATE training_mst set status='TRUE' where training_mst_id= ".$id; 
     $result2 = pg_query($conn,$query); 
    } 

?> 
関連する問題