我正在尝试从我的数据库中获取最新帖子。如果我运行以下代码,我会收到以下消息:
"无效查询:您的 SQL 语法有错误;检查与您的MySQL服务器版本相对应的手册,了解在第2行的"表新闻帖子按newsposts.post_id DESC订购"附近使用的正确语法
<?php
$getPosts = mysql_query("SELECT newsposts.post_id, newsposts.post
FROM TABLE newsposts
ORDER BY newsposts.post_id DESC
LIMIT 1") or die('Invalid query: ' . mysql_error());
while($getPosts_Array = mysql_fetch_array($getPosts)){
$post_id = $getPosts_Array['post_id'];
$post = $getPosts_Array['post'];
echo "
$post;
";
}
?>
去
掉SQL语句中的"TABLE",因为FROM
子句假定了一个Table。
首先,MySQL_* 函数已被弃用,您应该使用 MySQLi 或 PDO_MySQL
使用 PDO,获取最新帖子很简单:
<?php
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$stmt = $db->query('SELECT post_id, post FROM newsposts ORDER BY post_id DESC LIMIT 1');
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo 'Post #'.$row['post_id'].': '.$row['post']; //etc...
}
您的查询应该是:
SELECT newsposts.post_id, newsposts.post
FROM newsposts
ORDER BY newsposts.post_id DESC
LIMIT 1