2014-02-19 103 views
0

我正在運行下面的代碼,並且知道這是可疑的peice,因爲我在它的上下放置了回顯。第一次運行良好,但第二次沒有。PHP在PDO查詢失敗後停止

如果我將查詢更改爲「show tables」之類的東西,它會運行,但我看不到如果有什麼錯誤的話。我檢查了保留字和語法。我錯過了一些明顯的東西!

try 
{ 
    $sth = $dbh->prepare('SELECT COUNT(*) AS val FROM users WHERE username=:user'); 
    $sth->binvalue('user',$_POST['user']); 
    $sth->execute();  

} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
} 
+0

你缺少一個} – Hackerman

+4

@RobertRozas在哪裏?我沒有看到那個.. –

+0

它試圖嘗試{代碼} catch {} – Hackerman

回答

6

有一種類型的錯誤:的

代替

$sth->binvalue('user',$_POST['user']); 

嘗試

$sth->bindvalue('user',$_POST['user']); 
     ^ 
+2

應該補充的是,這將是非常簡單的解決方法A:啓用錯誤或B:尋找在你的日誌中。最有可能的「*致命錯誤:調用未定義的方法PDO_Statement :: binvalue()*」 – h2ooooooo

3
$sth->binvalue('user',$_POST['user']); 

應該

$sth->bindValue(':user',$_POST['user']); 

通知雙方bindValue:user

+0

這有什麼好運氣? – MonkeyZeus