Jemand: Fehler beim Schreiben in Datenbank

if (mysql_select_db("user", $Verbindung)){
     echo "datenbank ausgewählt ";
     if(mysql_query("insert into artikel set titel=$titel, inhalt=$inhalt")){echo "gesendet"; }else {echo "fehler beim schreiben";}
    }
    else { echo "fehler";}
    }

bei diesem Script kommt die Meldung "fehler beim schreiben". Woran kann das liegen? Der "user" hat "ALL PRIVILEGES ". Es wird nichts in die Datenbank geschrieben. Das Auslesen funktioniert ohne Probleme.

  1. Hallo Jemand

    versuche es mal so:
    insert into artikel (titel, inhalt) values ($titel,$inhalt)
    und denke daran '' als Stringbegrenzer zu verwenden.

    Viel Erfolg

    Gruß Mia

  2. abend,

    if(mysql_query("insert into artikel set titel=$titel, inhalt=$inhalt"

    probiers mal hiermit...
    mysql_query("insert into artikel set titel='".$titel."', inhalt='".$inhalt."'");

    mfg,
    (tanz das)
    Z.N.S.

    --
    <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
    1. Danke! Es geht!

    2. Hello,

      if(mysql_query("insert into artikel set titel=$titel, inhalt=$inhalt"
      probiers mal hiermit...
      mysql_query("insert into artikel set titel='".$titel."', inhalt='".$inhalt."'");

      Dann würde ich aber vermuten, dass $titel und $inhalt auch noch nicht escaped sind mit der dafür vorgesehenen Funktion mysql_escape_string()
      http://de.php.net/manual/de/function.mysql-escape-string.php

      Die von PHP eventuell automatisch gestetzten Backslashes muss man dann vorher natürlich wieder entfernen oder die Funktion ausschalten.
      http://de.php.net/manual/de/function.get-magic-quotes-gpc.php

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

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
  3. Hello,

    if (mysql_select_db("user", $Verbindung))
    {
      echo "datenbank ausgewählt ";

    if(mysql_query("insert into artikel set titel=$titel, inhalt=$inhalt"))
      {
        echo "gesendet";
      }
      else
      {
        echo "fehler beim schreiben: ".mysql_error();
        # http://de.php.net/manual/de/function.mysql-error.php
      }
    }
    else
    {
      echo "fehler";
    }
    }

    Erstmal scheinen Deine geschweiften Klammern nicht zu passen.
    Dann sollte eine Fehlerbearbeitung auch den Fehlergrund ermitteln, soweit das möglich ist.

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

    Tom

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