2016-01-13 3 views
-1

Я попытался добавить этот текст в базу данных MySQL с PHP и метод $ _POST:Добавление текста в базу данных

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(); 

Это текст :

"Lorem ipsum dolor sit amet, consectetur adipiscing Элит. Curabitur nec metus eget enim egestas rhoncus. Cras id suscipit augue. Mauris dignissim semper ligula, non rhoncus mi sollicitudin sed. В hac habitasse platea dictumst. В отличие от других, ультрасовременный энтузиазм коммо является акксан-магна. Sed luctus nulla libero. Ut vitae felis eu nunc porttitor fermentum at porta felis. Clavivar pulvinar, tortor ut gravida facilisis, eros lectus condimentum metus, cursus dapibus sapien lacus vel nisl. Maecenas rutrum nunc eget convallis imperdiet. Fusce felis ex, carula placerat erat ut, eleifend, следовательно, цвет. 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, в коммо nisi hendrerit ut. Quisque quis tincidunt odio. Ut cursus enim nec venenatis laoreet. Vestibulum erat diam, egestas vitae scelerisque sed, pulvinar turpis. Curabitur Одио Justo, ornare Eget tortor ес, Commodo condimentum оцен. Nam изречение, augue Tempor изречение porttitor, ми turpis volutpat Эрос, а tristique Метус Ipsum включенные в другие группировки enim.»

Но когда я добавить текст, он удаляет пробелы между двумя абзацами:

«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. В hac habitasse platea dictumst. В отличие от других, ультрасовременный энтузиазм коммо является акксан-магна. Sed luctus nulla libero. Ut vitae felis eu nunc porttitor fermentum at porta felis. Clavivar pulvinar, tortor ut gravida facilisis, eros lectus condimentum metus, cursus dapibus sapien lacus vel nisl. Maecenas rutrum nunc eget convallis imperdiet. Fusce felis ex, carula placerat erat ut, eleifend, следовательно, цвет. 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, в коммо nisi hendrerit ut. Quisque quis tincidunt odio. Ut cursus enim nec venenatis laoreet. Vestibulum erat diam, egestas vitae scelerisque sed, pulvinar turpis. Curabitur Одио Justo, ornare Eget tortor ес, Commodo condimentum оцен. Нам изречение, augue TEMPOR изречение porttitor, ми turpis volutpat эрос, tristique Метус Ipsum включенные в другие группировки enim «.

Как я могу добавить текст в базу данных, сохраняя при этом пробелы между абзацами?

+1

Как вы пишете это в базу данных сейчас? Как вы подтвердили удаление пробелов? База данных будет хранить любой поток персональных данных, которые она задана, и не выделяет определенные символы. – David

+0

Вы пытаетесь сделать это с помощью PHP? Это от $ _POST? Это от phpmyadmin? Больше информации пожалуйста ... никто не может понять ваш вопрос. – GeorgeGeorgitsis

+0

поставить инструкцию отладки перед вставкой в ​​db. Убедитесь, что в нем есть новая строка (\ n). Если он есть, тогда он будет писать то же самое в db. Если его там нет, он не будет писать. и Это присоединится ко всем строкам –

ответ

0

новая линия характер \n не будет отображаться в браузере. Вы должны преобразовать их до <br> с. Это может быть d один с использованием nl2br либо на вставке данных, либо на выходе.Например:

$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(); 

Демо: http://sandbox.onlinephpfunctions.com/code/ac2f35000833f6c91e2d96bf10a09b96ea182ae8

или метод вывода ...

+0

Он отлично работает! Спасибо, chris85! –

+3

Вы не должны использовать 'nl2br()' в 'bindParam()'. Обычно не рекомендуется изменять данные перед их вставкой. Вместо этого вы должны использовать второй метод, вставить его в исходный немодифицированный формат и использовать 'nl2br()' только на выходе. Изменение его перед сохранением может вызвать проблемы позже при попытке поиска, например. –

-1

Здесь Инстер для этого текста. Измените имя таблицы и имя поля.

INSERT INTO `mytable` (`fieldname`) 
VALUES 
    ('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.\n\nEtiam 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.\"\n\nBut when I add the text, it removes the whitespace between the two paragraphs:\n\n\"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'); 
+0

Как это решить проблему? Данные вставляются, отсутствуют строки (или предположительно). – chris85