Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用pdo和WHERE将内容插入mysql_Php_Pdo - Fatal编程技术网

Php 如何使用pdo和WHERE将内容插入mysql

Php 如何使用pdo和WHERE将内容插入mysql,php,pdo,Php,Pdo,因此,我尝试使用WHERE来更改满足值时的状态 代码: 不工作。如果你能帮我一把 谢谢你抽出时间 如果要使用where子句,则需要使用update。从外观上看,您无论如何都在尝试更新,因为您只使用了表中的一列 $insertstatus = $DBH->prepare("update csvdata set status= '$status' WHERE username = '".$username."'"); $insertstatus->execute();

因此,我尝试使用WHERE来更改满足值时的状态

代码:

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


谢谢你抽出时间

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

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

“不工作”可能意味着很多事情。您遇到的具体错误是什么?@fluffe解决了我的问题,谢谢。请学习如何在准备好的语句中绑定参数。如果你像这样编写你的应用程序,任何人都可以来破坏你的整个数据库。“不工作”可能意味着很多事情。您遇到的具体错误是什么?@fluffe解决了我的问题,谢谢。请学习如何在准备好的语句中绑定参数。如果你这样编写你的应用程序,任何人都可以来破坏你的整个数据库。为什么要像
mysql.*
$insertstatus=$DBH->prepare(“更新csvdata set status=?其中username=?”)那样使用PDO$insertstatus->execute(数组($status,$username))绑定正确吗?@PeeHaa这是破晓时分,我甚至还没有喝咖啡,当我把它全部写下来时,我的帖子已经编辑了两次。我喜欢这个地方:)@DavidBiga你可以单独绑定参数,也可以在数组中传递它们。在我的编辑中,我使用了命名参数,这可能更容易阅读/排除故障。@Fluffeh我的邮件功能工作不正常您认为您可以帮助我使用
邮件($to,$subject,$message,$headers)
为什么要像使用mysql一样使用PDO?
$insertstatus=$DBH->prepare(“更新csvdata set status=?其中username=?”$insertstatus->execute(数组($status,$username))绑定正确吗?@PeeHaa这是破晓时分,我甚至还没有喝咖啡,当我把它全部写下来时,我的帖子已经编辑了两次。我喜欢这个地方:)@DavidBiga你可以单独绑定参数,也可以在数组中传递它们。在我的编辑中,我使用了命名参数,这可能更容易阅读/排除故障。@Fluffeh我的邮件功能工作不正常您认为您可以帮助我使用
邮件($to,$subject,$message,$headers)