使用PDO设置动态表名称

时间:2015-08-13 15:00:10

标签: php mysql pdo

所以我对使用PDO很新,虽然我必须使用静态设置才能工作,但我希望能够在声明中更改表名。

I had a look at this question here.并看到了高度评​​价的回答。所以我试图重新创建一个简单的版本,它只会转储列中的所有信息。

问题:为什么我编辑的那个人示例不起作用,并在下面返回此错误。

  

致命错误:未捕获的异常' PDOException'与消息   ' SQLSTATE [42000]:语法错误或访问冲突:1064您有   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本,用于在''附近使用正确的语法在第1行'在   C:\ xampp \ htdocs \ ***** \ database.php:84堆栈跟踪:#0   C:\ xampp \ htdocs \ ***** \ database.php(84):PDOStatement-> execute()#1   C:\ xampp \ htdocs \ ***** \ database.php(88):buildQuery(1)#2 {main}   在第84行的C:\ xampp \ htdocs \ ***** \ database.php中抛出

示例中的代码与我的小改动相关联。

function buildQuery( $get_var ) 
        {
            switch($get_var)
            {
                case 1:
                    $tbl = `r16.7`;
                    break;
            }
            global $db;
            $sql = "SELECT * FROM $tbl";
            $stmt = $db->prepare($sql);

            $stmt->execute();
            $result = $sth->fetchAll(PDO::FETCH_COLUMN, 1);
            var_dump($result);
        }
        buildQuery(1);

1 个答案:

答案 0 :(得分:0)

不要混淆PHP和SQL 您刚才在PHP中使用了SQL引号。虽然您必须在SQL中使用SQL引号。

链接的答案现在为fixed,因此,我将此视为重复。