Sonderzeichen in MySQL

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Timosaurier, 23.03.2008.

  1. Timosaurier

    Timosaurier Thread Starter MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    25
    Mitglied seit:
    18.02.2005
    Servus...

    Ich habe hier ein cms gebastelt, kann also über einen Browser neue News auf die Website schalten (einfach über html Input-Textfeld und so). Funktioniert auch soweit 1A.

    Dahinter steht eine MySQL-Datenbank (PHPmyAdmin).

    Das Problem:
    Wenn ich in meinem cms Sonderzeichen eingebe (z.B. "gack"), dann werden diese mit einem Backslash in die Datenbank geschrieben (sieht dann so aus: \"gack\").

    Wenn ich diese Schrägstriche dann direkt in MySQL wieder rausnehme, dann wird's auch richtig übernommen.
    Der Fehler liegt also zwischen cms und Datenbank. Aber ich weiss nicht, wo.

    Gibt's da irgendeinen Trick ? Bin auch noch nicht so fit mit Mysql, etc...
     
  2. belomat

    belomat MacUser Mitglied

    Beiträge:
    39
    Zustimmungen:
    8
    Mitglied seit:
    02.06.2005
    Das ist kein Fehler in Deinem Code, sondern ein Sicherheits-Feature von PHP und nennt sich Magic Quotes. Mit stripslashes kannst du Backslashes bei der Ausgabe wieder entfernen.
     
  3. Timosaurier

    Timosaurier Thread Starter MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    25
    Mitglied seit:
    18.02.2005
    Werd ich mir mal anschauen, sieht ziemlich kompliziert aus. Aber schön, dass es eine Lösung gibt! Danke!

    Edit:
    Also, hab mir das durchgelesen, und verstehe....gar nichts.
    Hab leider gar keine Ahnung, was ich nun mit den Informationen anfange, die dort stehen.
     
  4. Pinacolada

    Pinacolada MacUser Mitglied

    Beiträge:
    419
    Zustimmungen:
    41
    Mitglied seit:
    26.04.2005
    1. Schalte in der php.ini die MagicQuotes aus.
    2. Benutzer überall, wo du es brauchst (Achtung: Du brauchst es wahrscheinlich fast immer!) addslashes.
     
  5. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Mitglied seit:
    05.01.2004
    Besser als addslashes für mysql-Queries ist mysql_real_escape_string. Falls Du die Magic Quotes nicht ausstellen kannst musst Du vorher ein stripslashes() ausführen, sonst wird zweimal escaped.
     
Die Seite wird geladen...

Diese Seite empfehlen