Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeilenumbrüche in MySQL-Datenbank

Einklappen

Neue Werbung 2019

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

  • #16
    Jeff-Glenn-Fox zeig mal etwas Code. Es macht in PHP einen riesen Unterschied, ob du "\n" oder '\n' schreibst.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #17
      Hier ist der Code:

      PHP-Code:


       
      if (file_exists('php/function/random_string.php')) {require('php/function/random_string.php');}

         
      $ver randomstring(5).randomstring(5);

         
      $timestamp time();
         
      $creation_time date('Y-m-d G:i:s',$timestamp);



      $alt_body $salutation.$_SESSION['user_name'].',\n\nTestnachricht\n\n.Mit freundlichen Grüßen<\n\n'.$alt_email_note;


      $sql 'INSERT INTO message SET company = :var1, gender = :var2, name = :var3, first_name = :var4, email = :var5, user_id = :var6, user = :var7,
      first_id = :var8, prev_id = :var9, subject = :var10, message = :var11, creation_site = 1, status = 1, folder = 2, date = :var12, ver = :var13'
      ;
        
      $db->query($sql);
        
      $db->bind(':var1'$_SESSION['user_company'] ?? '');
        
      $db->bind(':var2'$_SESSION['user_gender'] ?? '');
        
      $db->bind(':var3'$_SESSION['user_name'] ?? '');
        
      $db->bind(':var4'$_SESSION['user_first_name'] ?? '');
        
      $db->bind(':var5'$_SESSION['user_email'] ?? '');
        
      $db->bind(':var6'$user_id);
        
      $db->bind(':var7'$_SESSION['user'] ?? '');
        
      $db->bind(':var8'0);
        
      $db->bind(':var9'0);
        
      $db->bind(':var10'$subject);
        
      $db->bind(':var11'$alt_body);
        
      $db->bind(':var12'$creation_time);
        
      $db->bind(':var13'$ver);
        
      $sum $db->execute(); 
      Ich habe mittlerweile rausgefunden, wie die Absätze in der MySQL-Datenbank aus der textarea gespeichert werden: als "\r\n". Das sieht ma erst wenn man die Tabelle exportiert und sich den Quelltext anschaut.

      So lässt sich das jedoch auch nicht lösen:

      PHP-Code:
      $alt_body str_replace('\n''\r\n'$alt_body); 
      Dann wird das so gespeichert '\\r\\n', also mit zwei führenden Backslash.

      und mit nachfolgendem stripslashes($alt_body) wird dann nur "rn" ohne einen Backslash gespeichert.

      Irgendwie unlogisch oder ich stehe da gerade auf dem Schlauch.

      Gruss von Markus

      Kommentar


      • #18
        UPDATE:

        @hausl: Vielen Dank, ich habe Deinen Hinweis erst jetzt richtig realisiert. Man achte auf die Art der Anführungszeichen.

        Hiermit funktioniert es wie gewünscht.

        PHP-Code:
        $alt_body str_replace('\n'"\r\n"$alt_body); 
        Gruss von Markus

        Kommentar


        • #19
          Also sind die Daten in der Datenbank Müll. Diese solltest du korrigieren, bzw. richtig speichern.

          Kommentar

          Lädt...
          X