nichtmehrweiterwissender: speichert nicht in mySQL-Datenbank

<?php include("menue.inc");?>
  <?php
   if (!$_POST==""){
    echo "1";
    $Verbindung = mysql_connect("localhost", "user", "***");
    $titel = $_POST['titel'];
    echo $titel;
    $inhalt = $_POST['inhalt'];
    echo $inhalt;
    $SQLString = "INSERT INTO artikel (ID, titel, inhalt) VALUES ('', $titel, $inhalt)";
    if (mysql_select_db("datenbank", $Verbindung)){
     $Ergebins = mysql_query($SQLString, $Verbindung);
     echo $Ergebnis;
     echo "2";
    }
    else { echo "fehler";}
   }
  ?>

Dieser Quellcode geht einfach nicht. Er hat zwar alle Daten bekommen (Ausgabe:1qweasdasd2; bei titel=qwe inhalt=asd), speichert aber nicht in die Datenbank. Dieser Quellcode geht jedoch:

<?php include("menue.inc");?>
  <?php
   $Verbindung = mysql_connect("localhost", "user", "***");
   $SQLString = "SELECT titel, inhalt FROM artikel";
   mysql_select_db("datenbank", $Verbindung);
   $Ergebnis = mysql_query($SQLString, $Verbindung);
   if ($Ergebnis) {
    $x = mysql_num_rows($Ergebnis);
    for ($n=0; $n<$x; $n++){
     echo "<h5>", mysql_result($Ergebnis, $n, 0), "</h5>", mysql_result($Ergebnis, $n, 1), "<hr />";
    }
   }
  ?>

Woran kann das liegen? Was kann man dagegen machen?

  1. Hello,

    <?php include("menue.inc");?>
      <?php

    if (!$_POST==""){       ### AUA! ###

    echo "1";
        $Verbindung = mysql_connect("localhost", "user", "***");
        $titel = $_POST['titel'];
        echo $titel;
        $inhalt = $_POST['inhalt'];
        echo $inhalt;
        $SQLString = "INSERT INTO artikel (ID, titel, inhalt) VALUES ('', $titel, $inhalt)";
        if (mysql_select_db("datenbank", $Verbindung)){
         $Ergebins = mysql_query($SQLString, $Verbindung);
         echo $Ergebnis;
         echo "2";
        }
        else { echo "fehler";}
       }
      ?>

    Lass Dein Formular mal so zum Spaß an action="http://selfhtml.bitworks.de/debug/kontrolle.php" posten. Dann schau Dir mal an, was da im Script ankommt, abhängig davon, ob Du Daten eingeibst oder nicht, mit Return abschickst oder mit Click auf den Button.

    Und dann beschäftige Dich etwas mit Arrays und der Funktion isset()

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

    Tom

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

    $SQLString = "INSERT INTO artikel (ID, titel, inhalt) VALUES ('', $titel, $inhalt)";

    Könnte es sein, dass ID ein Schlüssel ist, so dass möglicherweise der Eintrag von '' an dieser Stelle nicht zulässig ist?

    Gruß Mia