SQLite PDO绑定不起作用

时间:2016-08-04 13:55:03

标签: php sql sqlite pdo prepared-statement

我有一个PHP脚本,它只需要从SQLite数据库中的表中获取所有行。 表的名称总是类似于174597131028398082-199534472775860224

此名称由两个变量(sidcid)组成,这两个变量是通过GET请求的参数定义的。问题是,我没有返回所有行(我稍后会在脚本中显示),而是收到此错误:SQLSTATE[HY000]: General error: 1 no such table: :sid-:cid

似乎PHP没有用正确的值替换:sid:cid。我见过关于类似问题的another thread,但我仍然无法使其发挥作用。

这是我的代码:

$query = "SELECT * FROM `:sid-:cid`;";

$queryparams = array(
    ':sid' => $_GET['sid'],
    ':cid' => $_GET['cid']
);

try {
  $stmt = $db->prepare($query);
  $result = $stmt->execute($queryparams);
} catch(PDOException $ex) {
  die($ex->getMessage());
}

此外,这是我连接数据库的方式:

try {
  $db = new PDO("sqlite:scores.db");
  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
  $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch(PDOException $ex) {
  die($ex->getMessage());
}

0 个答案:

没有答案