Hamza Raya: Frage zu SQL Insert

Hallo challo

Ich möchte Daten in die DB einfügen jedoch funktioniert gar nichts.
Ich erhalte weder eine Fehlermeldung noch werden Daten eingefügt. Sieht jemand den Fehler ? Oder gibt es eine Möglichkeit die Verbindung zu testen ?

-------------------------------------------------------------------
//Get Form Data
$host = $_POST['User_host'];
$community = $_POST['User_community'];

//Variablen
$mySQL_host = "localhost";
$mySQL_user = "root";
$mySQL_pw   = "";
$mySQL_db   = "vtinvdb";

$mySQL_connection = mysql_connect($mySQL_host,$mySQL_user,$mySQL_pw);
mysql_select_db($mySQL_db,$mySQL_connection);
mysql_query("INSERT INTO device (PK_Device, host, community) VALUES (NULL, $host, $community)");
-------------------------------------------------------------------

Bin dankbar für jede Hilfe!

Gruss
Hamza Raya (",)

  1. hi,

    Ich möchte Daten in die DB einfügen jedoch funktioniert gar nichts.
    Ich erhalte weder eine Fehlermeldung noch werden Daten eingefügt.

    die beiden absolut elementarsten debugging-schritte beim aufspüren von mysql-fehlern sind:

    1. kontrollausgabe der dynamisch erzeugten query, ob da auch das drin steht, was du erwartest.
    2. abfrage der potentiellen mysql-fehlermeldung mit mysql_error()

    statt

    mysql_query("INSERT INTO device (PK_Device, host, community) VALUES (NULL, $host, $community)");

    verwende

    $sql = "INSERT INTO device (PK_Device, host, community) VALUES (NULL, $host, $community)";
    echo $sql;
    $ergebnis = mysql_query($sql) or die(mysql_error());

    Oder gibt es eine Möglichkeit die Verbindung zu testen ?

    wenn du den verdacht hast, dass schon der aufbau der verbindung zur datenbank schief geht, kannst du das natürlich auch überprüfen.
    zum einen hat mysql_connect() einen rückgabewert, der über erfolg oder fehler auskunft geben kann, zum anderen kannst du auch an dieser stelle schon mit mysql_error() prüfen, ob fehler aufgetreten sind.

    gruss,
    wahsaga

    1. Danke !

      Übrigens hast du ne' Seite die mir sehr gefällt...

      Gruss

  2. Hallo Hamza,

    Hier mein Verbesserungsvorschlag. Vielleicht klappt es damit.

    $host = $_POST['User_host'];
    $community = $_POST['User_community'];

    //Variablen
    $mySQL_host = "localhost";
    $mySQL_user = "root";
    $mySQL_pw   = "";
    $mySQL_db   = "vtinvdb";

    $mySQL_connection = mysql_connect($mySQL_host,$mySQL_user,$mySQL_pw);

    $mySQL_connection= mysql_connect($mySQL_host, $mysSQL_user, $mySQL_pw)
    or die("Keine Verbindung")

    mysql_select_db($mySQL_db,$mySQL_connection);

    $link=mysql_select_db($mySQL_db, $mySQL_connection) or
    die ("Datenbank $mySQL_db existiert nicht!");
    $res=mysql_query("INSERT INTO device (PK_Device, host, community) VALUES (NULL, $host, $community)") or die ("<pre>$sql</pre>".mysql_error());

    Es kann sein, dass du die Variablen $host und $community in Hochkommata setzen musst. Das musst du bei nichtnumerischen Werten immer.

    Grüße,

    Wolfram