谁能帮我
这很好用::
$stmt = $this->conn->prepare("SHOW TABLES FROM db LIKE 'xyz'"); //tablename hardcoded
$stmt->execute();
$rows = $stmt->fetch(PDO::FETCH_ASSOC); //fetchAll
但是,如果我尝试绑定我的表名,因为它将在我的脚本中是动态的::
$stmt = $this->conn->prepare("SHOW TABLES FROM db LIKE :tbl"); //tablename hardcoded
$tbl = "xyz";
$stmt->bindParam(":tbl", $tbl, PDO::PARAM_STR);
这给出了错误,
$stmt = $this->conn->prepare("SHOW TABLES FROM cens LIKE ?");
$tbl = "xyz";
$stmt->bindParam(1, $tbl, PDO::PARAM_STR);
这也会产生错误,
错误是
致命错误:未捕获异常 'PDOException' 并带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在“?”附近使用的正确语法 在 /opt/lampp/htdocs/PDO/test.php:132 中的第 1 行堆栈跟踪:
0 /opt/lampp/htdocs/PDO/test.php(132): PDO->prepare('SHOW TABLES FRO...')
我尝试在查询和绑定变量中使用引号,但它不起作用
我想绑定表名,