0

我创建这个脚本已经有一段时间了,我又遇到了一个错误。这是代码块。

$query=$db->prepare("SELECT post_id, title, body, category FROM posts INNER JOIN categories ON categories.category_id=posts.category_id ORDER BY post_id DESC LIMIT $start, $per_page");
    $query->execute();
    $query->bind_result($post_id, $title, $body, $category);    
while($query->fetch()):
     $lastspace = strrpos($body, ' ');?>
    <article>
    <h2><?php echo $title?></h2>
    <?php echo  $category;?>
    <?php echo "<br><br>";?>
    <p><?php echo nl2br (substr($body, 0, $lastspace)). "<br><a href='post.php?id=$post_id'>Read More</a>"?></p>
    <?php echo "<hr>"?>
    </article>
    <?php endwhile ?>

$db 变量是数据库连接。

'error' 出现php echo nl2br在行上,在创建和添加和之后,substr不会回显。当我删除那些脚本运行时,while 循环获取.$lastpacehref$body$body

我没有收到任何错误或任何东西,$body只是拒绝出现。如果可能的话,对菜鸟友好:)
我的错误是什么?

4

1 回答 1

0

substr将and调用分开nl2br以避免错误终止循环。这样,如果 $body_sub 为空,nl2br 会警告你,但不会终止脚本:

<?php
  $body_sub = substr($body, 0, $lastspace);
  echo nl2br($body_sub);
?>

此外,这纯粹是装饰性的,但您的代码看起来很混乱。为什么不让 PHP 回显您的 HTML,而不是<?php ?>在其中到处插入标签?

于 2013-08-29T16:27:44.727 回答