2012-08-13 109 views
-1

嘿我的數據庫沒有做什麼,我不知道爲什麼。php mysql更新準備語句

代碼

$blub = $dbh->prepare("UPDATE `aufträge` SET status= ? WHERE id= ?"); 
$blub->bindParam(1, $m[0]); 
$blub->bindParam(2, $m[1]); 
$blub->execute();  ` 

var_dump($blub); 

對象(PDOStatement對象)#3(1){[ 「的queryString」] =>串(43) 「UPDATE aufträge SET狀態=?WHERE ID =?」 }

數據庫什麼都不做。 如果我不使用它運行準備的語句沒有問題

請幫幫我,我想用準備好的發言

回答

2

嘗試了這一點:(我相信你正在使用mysqli語法)

$blub = $dbh->prepare("UPDATE `aufträge` SET status= :status WHERE id= :id"); 
$blub->bindParam(':status', $m[0]); 
$blub->bindParam(':id', $m[1]); 
$blub->execute(); 

還要確保$m[0]$m[1]設置當您將它們傳遞給查詢(在一個循環或whatnot)

+0

我已經alredy嘗試....謝謝4快速回答 var_dump顯示'object(PDOStatement)#3(1){[「queryString」] => string(51)「UPDATE'aufträge'SET status =:status WHERE id =:id」}' and $ m is set!變種轉儲顯示 陣列(2){[0] =>&串(5) 「28136」[1] =>&串(14) 「在Bearbeitung」} 在同一腳本 我使用 $語句= $ dbh-> prepare('SELECT PSW,level,name FROM USER WHERE id =:idd LIMIT 1'); $ stmt-> bindParam(':idd',$ id); $ stmt-> execute(); 登錄,它的工作.... – 2012-08-13 12:30:37

+0

我這樣連接 '$ dsn ='mysql:dbname = test; host = 127.0.0.1'; $ user ='root'; $ password =''; try { $ dbh =新的PDO($ dsn,$ user,$ password); $ dbh-> setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION); catch(PDOException $ e){ echo'Verbindung fehlgeschlagen:'。 $ E->的getMessage(); } ' – 2012-08-13 12:36:50