如何使用WHERE使用pdo将内容插入到mysql中

时间:2012-08-21 22:20:11

标签: php pdo

因此,我试图在使用WHERE

满足值时更改某些内容的状态

代码:

$insertstatus = $DBH->prepare("INSERT INTO
   csvdata (status)  VALUES ('$status') WHERE username = '".$username."'");
        $insertstatus->execute();

不工作。如果你能帮我一把。

感谢您的时间!

1 个答案:

答案 0 :(得分:4)

如果要使用where子句,则需要使用update。从它的外观来看,无论如何你都试图更新,因为你只使用表中的一列。

$insertstatus = $DBH->prepare("update
   csvdata set status=  '$status' WHERE username = '".$username."'");
    $insertstatus->execute();

正如PeeHaa正确指出的那样,使用带参数的预准备语句会稍微改变代码,并为您提供更好的选择。你可以这样做:

$sql="update csvdata set status=:status where username=:username";
$sth=$DBH->prepare($sql);
$sth->execute(array(':status' => $status, ':username' => $username));

这样您就可以准备语句,以便数据库知道会发生什么。然后,通过数组中的execute()函数将变量传递给数据库。