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


How do you insert something into mysql using pdo using WHERE

因此,当使用WHERE 满足值时,我正试图更改某些东西的状态

代码:

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

不起作用。如果你能帮我一把的话。

感谢您抽出时间!

如果要使用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()函数将变量传递给数据库。