1

次のコード行があります。

$query=$db->prepare("SELECT post_id, title, LEFT(body, 400), category FROM posts INNER JOIN categories ON categories.category_id=posts.category_id ORDER BY post_id DESC LIMIT $start, $per_page");

LEFT(body,400)400 文字のみを照会するのではなく、最後の単語以外のすべてを照会します。これは、クエリをエコーするために使用するコードです(dbを使用したwhileループにあります)

<p><?php
     $body_sub = substr($body, 0). "...<a href='post.php?id=$post_id'> Continue Reading →&lt;/a>";
    echo nl2br($body_sub);
?></p>
4

1 に答える 1

3

関数で使用した後、列bodyは技術的に存在しません。列にエイリアスを設定する必要があります。

... LEFT(body, 400) AS body

次に、 を呼び出しますbody

列などのシステム用語の前後にバッククォートを使用することもお勧めします。

SELECT `post_id`, 
       `title`, 
       LEFT(`body`, 400) AS `body`, 
       `category`
FROM   `posts`
       INNER JOIN `categories` 
               ON `categories`.`category_id` = `posts`.`category_id` 
ORDER  BY `post_id` DESC 
LIMIT  $start, $per_page
于 2013-09-09T16:02:27.097 に答える