Frage zu SQL Insert
Hamza Raya
- php
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 (",)
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:
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
Danke !
Übrigens hast du ne' Seite die mir sehr gefällt...
Gruss
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