Ankündigung

Einklappen
Keine Ankündigung bisher.

PDO & Mysql Problem mit Zeilenumbrüchen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDO & Mysql Problem mit Zeilenumbrüchen

    Hallo werte PHP-Community,
    ich bastel grad an meinem ersten "wirklichen" Projekt: Einem einfachen Gästebuch. Mit mysqli hat alles super geklappt und dann bin ich auf PDO gestoßen. Und das macht mich grad kirre im Kopf!

    Problem: In die Datenbank werden Gästebucheinträge 1:1 eingetragen. Ich sehe keinerlei Maskierung oder ähnliches (wie es bei mysqli der Fall war). Beim Auslesen werden dann auch noch die Zeilenumbrüche verschluckt, weshalb alles in einer Zeile angezeigt wird.

    Hier mein Code zum schreiben in die DB

    PHP-Code:
    include ('db_connect.inc.php');
            
    $sql "INSERT INTO gaestebuch (name, email, eintrag, time) VALUES (:name, :email, :eintrag, :time)";
            
    $eintragen $dbc->prepare($sql);
            
    $eintragen->bindParam(':name'$_POST['name']);
            
    $eintragen->bindParam(':email'$_POST['email']);
            
    $eintragen->bindParam(':eintrag'$_POST['eintrag']);
            
    $eintragen->bindParam(':time',     date("Y-m-d H:i:s"));
            
    $eintragen->execute();
            
    $dbc NULL;
            
    $eintragen NULL;
            
    $sql NULL
    Und hier zum auslesen (vereinfachte Form)

    PHP-Code:
    include ('db_connect.inc.php');
    $sql "SELECT * FROM gaestebuch";
    $auslesen $dbc->prepare($sql);
    if (
    $auslesen->execute())
     {
      
    $data $auslesen->fetch(PDO::FETCH_OBJ);
      echo 
    $data->eintrag;
      }
      
    $dbc NULL;
    $auslesen NULL
    In den vielen Tutorials die ich durchforstet habe gibt es nirgends eine Erwähnung dazu. Vielleicht könnt ihr mir ja weiterhelfen

    Grüße
    bggamer

  • #2
    Was verstehst du unter Maskierung? Wenn die Texte aus einem <textarea> kommen, werden Zeilenumbrüche mit \n oder \n\r notiert, die musst du beim Ausgeben in <br> umwandeln, damit sie im HTML korrekt angezeigt werden (nl2br)
    [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

    Kommentar


    • #3
      Zitat von ApoY2k Beitrag anzeigen
      Was verstehst du unter Maskierung? Wenn die Texte aus einem <textarea> kommen, werden Zeilenumbrüche mit \n oder \n\r notiert, die musst du beim Ausgeben in <br> umwandeln, damit sie im HTML korrekt angezeigt werden (nl2br)

      [MAN]nl2br[/MAN]

      So sieht man es besser, dass eine Funktion gemeint ist.

      Kommentar


      • #4
        Danke für eure Antworten, ich bin jetzt noch mehr verwirrt^^

        Also die nl2br()-Funktion habe ich vorher schon erfolgreich genutzt, nur sah ich da auch die \n\r in der DB (mit Mysqli). Mit dem PDO-Eintrag wurde aber alles aus der textarea 1:1 übernommen. In PHPMyadmin war also ein identischer Text, wie eingegeben.

        nl2br() hat natürlich funktioniert ich Depp. Weiß jemand warum ich in der DB keine Umbruchzeichen sehen kann? Mit Mysqli gings doch auch und an der DB habe ich nichts verändert. Werden die Daten mit PDO anders übertragen?

        Grüße
        Schlachtvieh

        Kommentar

        Lädt...
        X