我试图从用户定义的表格中回复“评论”的所有值($table_name
)
$pdo = new PDO('mysql:dbname=db', 'user', 'pass');
$stmt2 = $pdo->query("SELECT comment FROM '$table_name'");
if ($stmt2->rowCount() > 0) {
$comments = $stmt2->fetchAll(PDO::FETCH_NUM);
foreach ($comments as $comment) {
$comm = $comment[0];
echo $comm;
}
}
但是我收到了这个错误:
致命错误:在第3行的/FilePath/file.php中的非对象上调用成员函数rowCount()
答案 0 :(得分:1)
没有标识符引号反引号不是单引号。
`backticks` // not 'table_name' ^ single quotes
拿出那些引号。它会工作得很好。
$stmt2 = $pdo->query("SELECT comment FROM $table_name");
除非像@Fred所说,你的表名是MySQL reserved word或者有空格或连字符(或SQL不同意的任何其他字符),否则你需要有它们。
与往常一样,启用错误报告。
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // below the pdo connection
error_reporting(E_ALL);
ini_set('display_errors', '1');
// first lines of the file