当我添加substr时,数据库循环中断了,错误是什么?

时间:2013-08-29 16:05:06

标签: php substr

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

$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变量是数据库连接。

“错误”显示在php echo nl2br行,创建并添加substr$lastpacehref后,$body将不会回声。当我删除那些脚本运行并且while循环得到$body

我没有任何错误或任何错误,$body只会拒绝出现。 如果有可能,那就是友善的友好:) 什么是我的错误?

1 个答案:

答案 0 :(得分:0)

分隔substrnl2br调用,以避免错误导致循环。这样,如果$ body_sub为空为空,nl2br会警告你,但不会杀死脚本:

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

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