0

データベースから最新の投稿を取得しようとしています。次のコードを実行すると、次のメッセージが表示されます。

「無効なクエリ: SQL 構文にエラーがあります。2 行目の 'TABLE newsposts ORDER BY newsposts.post_id DESC ' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください」

<?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;


                ";
            }
        ?>
4

3 に答える 3

6

FROM句はテーブルを想定しているため、SQL ステートメントで「TABLE」を削除します。

于 2013-11-06T15:09:07.220 に答える
2

まず、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...
}
于 2013-11-06T15:18:57.363 に答える
0

クエリは次のようになります。

SELECT newsposts.post_id, newsposts.post 
FROM newsposts 
ORDER BY newsposts.post_id DESC 
LIMIT 1
于 2013-11-06T15:09:42.070 に答える