PDO-在我的情况下,那个很大的bindValue vs bindParam

时间:2018-07-08 11:18:23

标签: php sql pdo slim

是的...就是其中之一。

好吧,我目前正在研究一种可以称为社交网络的东西。 我正在将Slim Framework与PDO一起使用,这是我的第一份工作,也是我的第一个项目。 所以,问题是我的控制器中有一个字符串,但是我想将其传递给模型,但是在将其传递给模型之后(我已经用print_r进行了测试,看它是否传递了并且传递了) bindParam似乎没有将它放在查询中。

功能就是这样的:

    public static function obterTagsDasPessoas($ids)
{
    $container = getContainer();
    $query = $container->db->prepare("SELECT * FROM Pessoas_tags WHERE :ids");
    $query->bindParam(':ids', $ids, PDO::PARAM_STR);
    $query->execute();

    $result = $query->fetchAll();
    return $result;
}

我尝试更改为bindValue,因为我发现它更适合文本。我不知道发生了什么事,因为它没有任何错误。它似乎并没有应用bindParam然后执行。 $ids内是id_Pessoas = 1 OR id_Pessoas = 4,它应该补充那里的查询。我已经尝试将其复制到phpmyadmin和mySql中,它给了我预期的结果,但是它不适用于该功能。

我做错什么了吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

我认为您应该在$ ids参数中发送一个ID,例如1或4。

然后将您的查询修改为

$ query = $ container-> db-> prepare(“ SELECT * FROM Pessoas_tags WHERE id_Pessoas =:ids”);

我认为这应该可行。