PDO准备/执行表并附加WHERE的位置



我正在尝试执行以下操作:

public function checkResult($table, $appends)
{
    $append = null;
    foreach ($appends as $key => $val)
        $append = " AND `{$key}` = '{$val}'";
    $result = $this->fetchObj("
        SELECT  *
        FROM    :cms_table
        WHERE   id :append
    ", array(
        ":cms_table" => $table
        ":append" => $append
    ));
    return ($result ? true : false);
}

但是我无法让它工作,因为我不知道如何在 PDO 中做到这一点。
此外,当我离开:append时,我的查询也不起作用。看起来我无法执行表。当我:cms_table更改为cms_pages(我需要的表)时,它可以正常工作。

我在PDO中找不到有关此类查询的内容。有人可以帮助我吗?

不要试图超越自己。

您不需要checkResult()函数,也不需要其他类似结构的功能。

$sql   = "SELECT 1 FROM table WHERE field = ? AND col = ?";
$found = $db->fetchObj($sql, array(1,2));

是你真正需要的。

最新更新