【发布时间】:2012-07-04 21:08:55
【问题描述】:
我正在尝试使用 PDO 执行准备好的语句,但是尽管类似的语句在其他文件中运行良好,但我仍然收到错误消息。
这是我收到的错误:`Array ( [0] => 42000 [1] => 1064 [2] => 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册在第 1 行的 ''merch'' 附近使用的正确语法)1
这是代码的简化版本:
class Ben {
protected $_BTH;
protected $_BTH;
function __construct() {
$this->_BBH = (---new PDO object---)
$this->_BTH = $this->_BBH->prepare("SELECT * FROM :table");
}
my_function($table) {
$this->_BTH->bindParam(':table', $table, PDO::PARAM_STR); // table == merch
$this->_BTH->debugDumpParams(); // outputs SQL: [20] SELECT * FROM :table Params: 1 Key: Name: [6] :table paramno=-1 name=[6] ":table" is_param=1 param_type=2
$execResult = $this->_BTH->execute();
if ($execResult == false) {
die(print_r($this->_BTH->errorInfo())); // prints out the error I wrote earlier
}
}
}
我不知道语法错误在哪里,我是否使用了任何关键字?感谢您的帮助:)
【问题讨论】: