2012-08-13 113 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