level: Umbruch in die datenbank

Hallo ich schon wieder...

'".addslashes(htmlspecialchars(implode(', ', $_POST['link'])))."',

mit diesem befehl schreibe ich ein array in meine datenbank
hierbei wird auch an jedem eintrag ein "," gehängt und eine "leerstelle". anschließend wird der nächste eintrag angehängt.

nun möchte ich abe kein ",""leerstelle" sondern einen zeilenumbruch in der tabelle erzwingen...

kann mir da einer weiterhelfen?

DANKE ;)

  1. hi,

    '".addslashes(htmlspecialchars(implode(', ', $_POST['link'])))."',

    mit diesem befehl schreibe ich ein array in meine datenbank
    hierbei wird auch an jedem eintrag ein "," gehängt und eine "leerstelle". anschließend wird der nächste eintrag angehängt.

    nun möchte ich abe kein ",""leerstelle" sondern einen zeilenumbruch in der tabelle erzwingen...

    und woran genau scheiterst du da?

    weißt du nicht, wie du mit PHP ein zeilenumbruchzeichen ausgibst?
    dann lies bitte http://www.php.net/manual/de/language.types.string.php

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. und woran genau scheiterst du da?

      das ich nun in der datenbank (dank:
      '".addslashes(htmlspecialchars(implode('\n', $_POST['link'])))."',
      )
      link1\nlink2\nlink3

      stehen habe
      ich will in der datenbank aber
      link1
      link2
      link3
      stehen haben

      1. hi,

        und woran genau scheiterst du da?

        das ich nun in der datenbank (dank:
        '".addslashes(htmlspecialchars(implode('\n', $_POST['link'])))."',
        )
        link1\nlink2\nlink3

        stehen habe
        ich will in der datenbank aber
        link1
        link2
        link3
        stehen haben

        tja, dann liest du die von mir verlinkte seite jetzt besser noch mal ein bisschen aufmerksamer ... da steht nämlich auch, warum '\n' nicht "funzt", und wie man es stattdessen notiert.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. hi,

          hi,

          und woran genau scheiterst du da?

          das ich nun in der datenbank (dank:
          '".addslashes(htmlspecialchars(implode('\n', $_POST['link'])))."',
          )
          link1\nlink2\nlink3

          stehen habe
          ich will in der datenbank aber
          link1
          link2
          link3
          stehen haben

          tja, dann liest du die von mir verlinkte seite jetzt besser noch mal ein bisschen aufmerksamer ... da steht nämlich auch, warum '\n' nicht "funzt", und wie man es stattdessen notiert.

          gruß,
          wahsaga

          gruß,
          wahsaga

          --
          "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
          1. was machst du denn da?

      2. Hallo level,

        '".addslashes(htmlspecialchars(implode('\n', $_POST['link'])))."',

        du musst \n in doppelste Anführungszeichen (»"«) schrieben, bei einfachen wird das \n als String behandelt.

        Grüße aus Nürnberg
        Tobias

  2. Hello,

    '".addslashes(htmlspecialchars(implode(', ', $_POST['link'])))."',

    Das wird wahrscheinlich auch falsch sein.

    Wenn magic_quotes_gpc() eingeschaltet ist, müssen die Maskierungs-Backslashes i.d.R. erstmal entfernt werden. Die "\n" oder die "\r\n" Sequenzen können dann in den String eingefügt werden.

    Anschließend muss dieser Für die SQL-Schnittstelle speziell escaped werden, da Zeilenumbrüche, NUL, Doppelhäkchen, Einfachhäkchen sonst falsch interpretiert werden. addslashes() leistet das aber nicht. Für MySQL gibt es z.B. extra mysql_[real_]escape_string().

    Bei anderen Datenbanken muss man ggf. noch andere Zeichen beachten.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau