我一直在盯着这段代码,我可以弄清楚为什么它不起作用。
$dbh = dbCon(); // CONNECT TO DATABASE THROUGH FUNCTION
$sth = $dbh->prepare("SELECT * FROM ? WHERE ? = ?");
$sth->execute(array($var1, $var2, $var3));
$sth->fetch(PDO::FETCH_OBJ);
当我将第二行替换为:
$sth = $dbh->prepare("SELECT * FROM clientDetails WHERE clientID = 1");
一切正常,但是当我为它们设置 var1、2、3 时,它不想工作并引发以下错误:
致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 /home/cms/functions/functions.php:142 中的 ''clientDetails' WHERE 'clientID' = '1'' at line 1' 附近使用正确的语法:142 堆栈跟踪: 0 /home/cms/functions/functions.php(142): PDOStatement->execute(Array) #1 /home/cms/functions/functions.php(470): returnData() #2 {main} 在 /home 中抛出/cms/functions/functions.php 在第 142 行