Tom: php5: sonderzeichen problem bei mysql

Beitrag lesen

Hello,

erstmals danke für die rasche antwort...leider verstehe ich nicht ganz wie du dies meinst :-(

$database = mysql_connect($host,$user,$pass);

mysql_db_query($datenbank,"insert into charts (track, interpret) values ('$_POST[track]','$_POST[interpret]')",$database);

ich hoffe du blickst durch bei diesen codeschnippsel

Ja, ich blicke da durch ;-)
1.) mysql_db_query() sollte nicht mehr benutzt werden, sondern

$con = mysql_connect($host,$user,$pass)
           or die('einfache Fehlerbehandlung: Server nicht gefunden');

$db  = mysql_select_db($databasename,$con)
           or die('einfache Fehlerbehandlung: Datenbak nicht gefunden);

2.) $_POST[interpret] ist falsch, es muss $_POST['interpret'] heißen
    für 'track' gilt das gleiche

3.) stelle Dein Query vorherzusammen:
    $sql = "insert into charts set ".
           "track = '".mysql_escape_string($_POST['track'])."',".
           "interpret = '".mysql_escape_string($_POST[interpret])."'";

Dann kannst Du es im Fehlerfalle an die Fehlermeldung anhängen
    Wenn magic_quotes_gpc() eingeschalet ist, musst Du vorher die Backslashes
    mit stripslashes() sieder entfernen.

Die Elementnamen von assoziativen Arrays MÜSSEN in Häkchen geschrieben werden
    Hier lag wahrscheinlich ein Teil des Fehlers, weil PHP nicht mehr so tolereant
    ist.
    Vergiss nie, das Escapen mit mysql_(real_)escape_string()

4.) Aufruf des Querys
    $res = mysql_query($sql,$con);

if (!$res)
    {
      ## Fehlermeldung veranlassen
    }

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

Tom

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