Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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
Mysql Symfony在查询中传递自定义sql参数_Mysql_Doctrine Orm_Doctrine - Fatal编程技术网

Mysql Symfony在查询中传递自定义sql参数

Mysql Symfony在查询中传递自定义sql参数,mysql,doctrine-orm,doctrine,Mysql,Doctrine Orm,Doctrine,我试图将表名和列名从字符串传递到sql查询,但由于某些原因,它不起作用 这是我试图从symfony 4.4文档中执行的一个示例: 这就是我试图做到的: $sql = "SELECT :col, COUNT(*) AS `cnt` FROM :tab GROUP BY :col "; $

我试图将表名和列名从字符串传递到sql查询,但由于某些原因,它不起作用

这是我试图从symfony 4.4文档中执行的一个示例:

这就是我试图做到的:

        $sql = "SELECT
            :col,
            COUNT(*) AS `cnt`
            FROM
            :tab
            GROUP BY
            :col
            ";
    $stmt = $conn->prepare($sql);
    $stmt->execute([ 'col' => $col , 'tab' => $tab  ]);
    return $stmt->fetchAllAssociative();
输出:

同时,它的工作原理如下:

   $sql = "SELECT
            typeCl,
            COUNT(*) AS `cnt`
            FROM
            client
            GROUP BY
            typeCl
            ";
    $stmt = $conn->prepare($sql);
    $stmt->execute([ 'col' => $col , 'tab' => $tab  ]);
    return $stmt->fetchAllAssociative();
我仍然希望我的表和列可以参数化。。有没有办法做到这一点??
(这与我使用dump和die的字符串值无关,请确保没有错误的符号)

这就是我如何使其工作的:

 $sql = "SELECT ".$col.",
            COUNT(*) AS `cnt`
            FROM
            ".$tab."
            GROUP BY
            ".$col."
            ";
    $stmt = $conn->prepare($sql);
    $stmt->execute([ 'col' => $col , 'tab' => $tab  ]);
    return $stmt->fetchAllAssociative();