Thomas: string in Datenbank (mysql)

Ihc würde gerne wennich einen String in die MYSQL Datenbank schreibe, diesen vorher SICHERN. Ich denke diese Funktion müsste OK sein!

function IN_DB($string)
{
return addslashes(htmlentities($string));
}

oder gibt es eine elegantere Lösung?

  1. Grüße,
    real escape string?
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
  2. Hallo,

    Ihc würde gerne wennich einen String in die MYSQL Datenbank schreibe, diesen vorher SICHERN. Ich denke diese Funktion müsste OK sein!

    Du irrst.

    oder gibt es eine elegantere Lösung?

    es gibt vor allem richtigere :-)
    Ich lege Dir den Artikel Kontextwechsel von dedlfix ans Herz.

    Freundliche Grüße

    Vinzenz

    1. Also müsste es so dann perfekt sein:

      mysql_query("UPDATE tabelle SET name='".mysql_real_escape_string($name)."'  WHERE id=1");

      Oder kannich es auch vorher anwenden:

      $name = mysql_real_escape_string(stripslashes($name));

      und anschliessend so

      mysql_query("UPDATE tabelle SET name=$name  WHERE id=1");

      1. Hello,

        Also müsste es so dann perfekt sein:

        fast

        mysql_query("UPDATE tabelle SET name='".mysql_real_escape_string($name)."'  WHERE id=1");

        Wenn Du mysql_REAL_escape_string() benutzt, solltest Du der Ordnung halber auch die Verbindungskennung angeben. Es gibt sonst immer mal wieder "Überraschungen".

        Oder kannich es auch vorher anwenden:

        $name = mysql_real_escape_string(stripslashes($name));

        Das stripslashes() sollte immer nur abhängig von den tatsächlichen Umständen verwendet werden, also i.d.R. von der Einstellung von magic_quotes_gpc, solange es das noch gibt.

        http://de2.php.net/manual/en/function.get-magic-quotes-gpc.php
        http://de2.php.net/manual/en/security.magicquotes.php

        und anschliessend so

        mysql_query("UPDATE tabelle SET name=$name  WHERE id=1");

        Immer die Rückgabewerte auffangen und auswerten!
        Und Strings müssen quotiert werden.

        $update = mysql_query("UPDATE tabelle SET name='$name' WHERE id=1");

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de