dongyi6269 2016-01-13 13:44
浏览 20
已采纳

将文本添加到数据库

I tried adding this text to the MySQL database with PHP and the $_POST method:

HTML:

<form name="addBook" action="?action=save" method="post" enctype="multipart/form-data">
        <table>
        <tr>
            <td>Boek naam</td>
            <td><input type='text' name='book_name'  required></td>
        </tr>
        <tr>
            <td>Genre</td>
            <td><input type='text' name='book_genre'  required></td>
        </tr>
        <tr>
            <td>Cover</td>
            <td><input type='file' name='cover' id='cover'></td>
        </tr>
        <tr>
            <td>Text</td>
            <td><textarea cols='50' rows='20' name='book_text'>Schrijf hier</textarea></td>
        </tr>
        <tr>
            <td colspan="2"><input type="reset" name="reset" value="Remove text">
            <input type="submit" name="submit" value="Save"></td>
        </tr>
        </table>
        </form>

PHP:

$query = $db->prepare("
                INSERT INTO `books` (`book_name`, `book_text`, `book_genre`, `book_cover`) VALUES (:name, :text, :genre, :fulldir)");
    $query->bindParam(':name', $book_name);
    $query->bindParam(':text', $book_text);
    $query->bindParam(':genre', $book_genre);
    $query->bindParam(':fulldir', $fulldir);
    $query->execute();

This is the text:

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur nec metus eget enim egestas rhoncus. Cras id suscipit augue. Mauris dignissim semper ligula, non rhoncus mi sollicitudin sed. In hac habitasse platea dictumst. Maecenas non augue eu augue ultrices commodo a accumsan magna. Sed luctus nulla libero. Ut vitae felis eu nunc porttitor fermentum at porta felis. Curabitur pulvinar, tortor ut gravida facilisis, eros lectus condimentum metus, cursus dapibus sapien lacus vel nisl. Maecenas rutrum nunc eget convallis imperdiet. Fusce felis ex, vehicula placerat erat ut, eleifend consequat dolor. Vestibulum fringilla elementum ante, fringilla luctus elit faucibus eget.

Etiam ac enim non nisl elementum dapibus vel quis augue. Sed vestibulum, lacus vitae ultricies dictum, lacus augue sodales justo, sit amet efficitur purus neque vitae magna. Duis malesuada sagittis tortor, in commodo nisi hendrerit ut. Quisque quis tincidunt odio. Ut cursus enim nec venenatis laoreet. Vestibulum erat diam, egestas vitae scelerisque sed, pulvinar a turpis. Curabitur odio justo, ornare eget tortor eu, commodo condimentum est. Nam dictum, augue tempor dictum porttitor, mi turpis volutpat eros, a tristique metus ipsum nec enim."

But when I add the text, it removes the whitespace between the two paragraphs:

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur nec metus eget enim egestas rhoncus. Cras id suscipit augue. Mauris dignissim semper ligula, non rhoncus mi sollicitudin sed. In hac habitasse platea dictumst. Maecenas non augue eu augue ultrices commodo a accumsan magna. Sed luctus nulla libero. Ut vitae felis eu nunc porttitor fermentum at porta felis. Curabitur pulvinar, tortor ut gravida facilisis, eros lectus condimentum metus, cursus dapibus sapien lacus vel nisl. Maecenas rutrum nunc eget convallis imperdiet. Fusce felis ex, vehicula placerat erat ut, eleifend consequat dolor. Vestibulum fringilla elementum ante, fringilla luctus elit faucibus eget. Etiam ac enim non nisl elementum dapibus vel quis augue. Sed vestibulum, lacus vitae ultricies dictum, lacus augue sodales justo, sit amet efficitur purus neque vitae magna. Duis malesuada sagittis tortor, in commodo nisi hendrerit ut. Quisque quis tincidunt odio. Ut cursus enim nec venenatis laoreet. Vestibulum erat diam, egestas vitae scelerisque sed, pulvinar a turpis. Curabitur odio justo, ornare eget tortor eu, commodo condimentum est. Nam dictum, augue tempor dictum porttitor, mi turpis volutpat eros, a tristique metus ipsum nec enim."

How can I add the text to the database, while keeping the whitespace between paragraphs?

  • 写回答

2条回答 默认 最新

  • dongmale0656 2016-01-13 14:05
    关注

    The new line character won't display in a browser. You need to convert them to <br>s. This can be done using nl2br either on the data insert or on the output. For example:

    $query = $db->prepare("
                    INSERT INTO `books` (`book_name`, `book_text`, `book_genre`, `book_cover`) VALUES (:name, :text, :genre, :fulldir)");
        $query->bindParam(':name', $book_name);
        $query->bindParam(':text', nl2br($book_text));
        $query->bindParam(':genre', $book_genre);
        $query->bindParam(':fulldir', $fulldir);
        $query->execute();
    

    Demo: http://sandbox.onlinephpfunctions.com/code/ac2f35000833f6c91e2d96bf10a09b96ea182ae8

    or on the output method...

    echo nl2br($row['book_text']);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分