mysql - WHERE IN 与 Doctrine 2 DBAL

标签 mysql doctrine dbal

如何在 Doctrine DBAL 中使用 WHERE IN 子句?

以下查询不起作用,它搜索名称 "Bob","Elvis","Bill"(作为字符串):

$users = $dbc->fetchAssoc("SELECT * FROM users WHERE name IN(:users_names)", array(
    'users_names' => '"Bob","Elvis","Bill"'
));

我试过数组,还是一样的问题。

最佳答案

试试这个:

 $searchParameters = array("Bob","Elvis","Bill");

    $users = "SELECT * FROM users WHERE name IN (?1)";
    $q = $em->createQuery($users)
       ->setParameter(1, $searchParameters);

    $result = $q->execute();

关于mysql - WHERE IN 与 Doctrine 2 DBAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22581260/

相关文章:

mysql - MySQL 中何时使用单引号、双引号和反引号

mysql - Offset是否应该在Sql查询的末尾指定?

mysql - 使用单个父数据库进行跨数据库 UID 管理?

php - 类 XXX 不是有效文档或映射父类(super class)

doctrine - Symfony findOneBy/findBy

doctrine-orm - 如果数据库不存在,则从 DBAL 级别创建数据库

php - 使用 Doctrine DBAL 的准备好的语句中的字符串列表

php - 在 mysql_query 语句中绑定(bind)变量

php - Doctrine单表继承查询所有实例

php - Symfony DBAL 插入给出 : "Syntax error or access violation: 1064"