2016-03-15 115 views
0

這是我的代碼,它不工作PHP沒有插入PostgreSQL中

$c=pg_connect ("dbname=pfe_abht user=postgres password=123456") 
    or die('Could not connect: ' . pg_last_error()); 

if(isset($_POST['type']) || isset($_POST['id_demandeur']) 
    || isset($_POST['date']) 
) { 
    $type=$_POST['type']; 
    $id_demandeur=$_POST['id_demandeur']; 
    $date=$_POST['date']; 
    $pg="INSERT INTO dossier (id_dossier,type,id_demandeur,date)". 
     " VALUES ('',$type','$id_demandeur','$date')"; 
    $r=pg_query($c,$pg); 
    var_dump($r); 
    pg_close($c); 
    echo'insertion enfiiiin !! '; 
} else echo 'aucune insertion n est effectuee'; 

我得到八方通無插入做過

+0

請加'創建表dossier'聲明 –

回答

1

您的查詢語法錯誤:

" VALUES ('',$type','$id_demandeur','$date')" 
      ^here a ' is missing 

將其更改爲:

" VALUES ('','$type','$id_demandeur','$date')" 

當您遇到查詢問題時,應始終使用pg_last_error()檢查SQL錯誤。


另一件事:你if聲明:只要至少一個變量被設置

if(isset($_POST['type']) || isset($_POST['id_demandeur']) 
    || isset($_POST['date']) 
) 

將是真實的。如果你需要在查詢所有這些變量,你應該改變||&&

if(isset($_POST['type']) && isset($_POST['id_demandeur']) 
    && isset($_POST['date']) 
) 

或只檢查一次全部:

if(isset($_POST['type'], $_POST['id_demandeur'], $_POST['date'])) 
+0

喔,非常酷,語句中的語法錯誤。不在PHP ..好抓。 – devpro

+0

非常感謝你除了這些錯誤我有一個錯誤在HTML再次感謝你 –