2014-02-19 46 views
0

我是新來的這個PDO的東西,我已經得到它使用SELECT工作,但不能更新工作,希望我在這裏錯過了簡單的東西?PDO更新沒有更新 - 沒有錯誤

感謝幫助!

喬恩

$id = $intSessionUser; 
$email = isset($_POST['email']) ? trim(strip_tags($_POST['email'])) : null; 
$password = isset($_POST['password']) ? trim(strip_tags($_POST['password'])) : null; 

$strSql = "UPDATE user2 SET user_email = :email, user_password = :password WHERE user_id = :id"; 
echo $strSql; 

$STH = $DBH->prepare($SQL); 

$STH->bindParam(':id', $id); 
$STH->bindParam(':email', $email); 
$STH->bindParam(':password', $password); 
$STH->execute(); 
$missing = "Login details updated"; 
+0

代碼看起來對我好。你應該顯示你的數據庫結構。 – TimWolla

+2

'$ strSql ='...';'然後'$ DBH->準備($ SQL)'也許這個? ;) – lupatus

+0

相關:'strip_tags($ _ POST ['password'])'?爲什麼?? –

回答

0

準備了錯誤的SQL?

更換

$STH = $DBH->prepare($SQL); 

由:

$STH = $DBH->prepare($strSql); 
0

看起來你正在準備$ SQL時,它應該是你的$ STRSQL?你還在哪裏定義$ DBH?

0

工作方式PDO默認情況下,出於安全原因,錯誤是無聲的。

你必須告訴PDO拋出錯誤:

// If there is an error executing database queries, we want PDO to know 
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

除此之外:

$STH = $DBH->prepare($SQL); 

也許應該是

$STH = $DBH->prepare($strSql); 

希望這有助於