Php WHERE条件下的变量

Php WHERE条件下的变量,php,mysql,sql,where,Php,Mysql,Sql,Where,以下PHP代码中的SQL查询不起作用,有人能帮我吗 $reponse = $bdd->query("SELECT * FROM tasks WHERE destinataire = ':destinataire' ORDER BY maturity ASC"); $reponse->execute(array( ':destinataire'=>$_SESSION['login'] )); 正确的查询如下所示:

以下PHP代码中的SQL查询不起作用,有人能帮我吗

$reponse = $bdd->query("SELECT * FROM tasks WHERE destinataire = ':destinataire' ORDER BY maturity ASC");
$reponse->execute(array(
                ':destinataire'=>$_SESSION['login']
                ));
正确的查询如下所示:

$reponse = $bdd->prepare("SELECT * FROM tasks WHERE destinataire = :destinataire ORDER BY maturity ASC");

当您想要参数化查询时,参数不应该用单引号括起来,因为它们被转换为字符串文本(这意味着它们只是常规值,不再是参数)。删除单引号,它就会工作

$reponse = $bdd->prepare("SELECT * FROM tasks WHERE destinataire = :destinataire ORDER BY maturity ASC");

当您想要参数化查询时,参数不应该用单引号括起来,因为它们被转换为字符串文本(这意味着它们只是常规值,不再是参数)。删除单引号,它就会工作

$reponse = $bdd->prepare("SELECT * FROM tasks WHERE destinataire = :destinataire ORDER BY maturity ASC");

错误消息是什么,或者代码不起作用是什么?@rrehbein在执行JW建议的操作后,我得到了以下错误致命错误:在C:\wamp\www\progeco2\tasks.php第64行对非对象调用成员函数execute(),错误消息是什么,或者代码不起作用是什么?@rrehbein在执行JW建议的操作后,我收到以下错误致命错误:在C:\wamp\www\progeco2\tasks.php第64行对非对象调用成员函数execute()。谢谢您的回答。但是,我得到了以下错误:致命错误:在C:\wamp\www\progeco2\tasks.php第64行的非对象上调用成员函数execute()。您必须使用prepare,而不是query。@Akam我在JW answer中这样做了谢谢您的回答。但是,我得到了以下错误:致命错误:在C:\wamp\www\progeco2\tasks.php第64行的非对象上调用成员函数execute()。您必须使用prepare,而不是query。@Akam我在JW answer中这样做了