Supportnet / Forum / Datenbanken
Eintragen via PHP ?!
Frage
Hallo,
ich möchte eine Datenbank mit Hilfe einer PHP Datein "füttern"
Ich benutze dazu folgendes Skript:
#----------------------------------------------------------------
$tabellenname= "NeueTabelle";
$eintragen= "INSERT INTO $tabellenname ( `ID` , `Name` , `email` )
VALUES (´´, ´Test´, ´Geths_jetzt?´);";
$link = mysql_connect("localhost", $benutzer, $passwort);
mysql_db_query($db_name, $eintragen, $link);
mysql_close($link);
#------------------------------------------------------------------
Nur wenn ich nach dem ausführen des Skriptes über PHP MyAdmin die Tabelle begutachte ist sie nicht um den gewünschen Eintrag größer.
Was mache ich falsch ?
Noch zur Info:
-Beim ausführen treten keine Fehler auf.
- $benutzername, $dd_name und $passwort sind zugewiesen.
Hmmm also ich wüsste nicht was ich da noch tun sollte, zumal keine Fehlermeldung angegeben wird.
Gruß Deathfun
Antwort 1 von greg68
Hallo,
nimm erst mal das ! direkt hinter der letzten ) weg.
dann schreibe folgendes:
"or die ..." gibt dir dann im Falle eines Fehlers eine bessere Fehlerbeschreibung.
Gruss
nimm erst mal das ! direkt hinter der letzten ) weg.
dann schreibe folgendes:
$eintragen= "INSERT INTO $tabellenname ( `ID` , `Name` , `email` )
VALUES (´´, ´Test´, ´Geths_jetzt?´)";
$sql=mysql_query($eintragen) or die (mysql_error());"or die ..." gibt dir dann im Falle eines Fehlers eine bessere Fehlerbeschreibung.
Gruss
Antwort 2 von Deathfun
Ich versuchs mal danke :)
Antwort 3 von DeluxeStyle
wie machst du es mit der id?
auto increment?
falls ja, dann schaut dein insert so aus
$eintragen= "INSERT INTO $tabellenname ( `Name` , `email` )
VALUES (´Test´, ´Geths_jetzt?´)";
auto increment?
falls ja, dann schaut dein insert so aus
$eintragen= "INSERT INTO $tabellenname ( `Name` , `email` )
VALUES (´Test´, ´Geths_jetzt?´)";
Antwort 4 von luke
Frage, kann man die Varialbe $tabellename einfach so da stehen lassen oder muss man sie durch ein
luke
".$tabellenname." ersetzen?luke
Antwort 5 von DeluxeStyle
du musst es ersetzen, ist mir gar ned aufgefallen
Antwort 6 von greg68
ist es so schwer das PHP-scribt zu verstehen?
Antwort 7 von greg68
natürlich id autocrement
Antwort 8 von greg68
@luke
was meinst Dui mit stehen lassen?
was meinst Dui mit stehen lassen?
Antwort 9 von greg68
und was ersetzen?
Antwort 10 von Deathfun
So nochmal danke, habs ausprobiert und es klappt vorzüglich!
Aber wo wir grade dabei sind hab ich noch eine Frage:
Ich habe nun Daten in der db und möchte diese sortiert ausgeben. Der Code sieht so aus:
Es sollen also Name und Rang ausgelesen und der ID nach abwerts sortiert werden.
Nur wenn ich das nun ausführe bekomme ich diese Meldung:
Danke Deathfun
Aber wo wir grade dabei sind hab ich noch eine Frage:
Ich habe nun Daten in der db und möchte diese sortiert ausgeben. Der Code sieht so aus:
// Verbindung zur db wurde hergestellt
$sql = "SELECT
Name,
Rang,
FROM
DBT1
ORDER BY
ID DESC;";
$result = mysql_query($sql) OR die(mysql_error());
echo "So was weiß ich über dich:<br />\n";
while($row = mysql_fetch_assoc($result)) {
echo $row[´Name´]." > ".$row[´Rang´]."<br />\n";
}
Es sollen also Name und Rang ausgelesen und der ID nach abwerts sortiert werden.
Nur wenn ich das nun ausführe bekomme ich diese Meldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ´FROM DSA ORDER BY ID DESC´ at line 4Danke Deathfun
Antwort 11 von greg68
Hallo,
Du hast in deiner Abfrage 2 Semikola. Nimm das direkt hinter DESC weg. Eine PHP-Anweisung wird immer ganz am Ende mit einem Semikolon abgeschlossen
Gruss
Gregor
Du hast in deiner Abfrage 2 Semikola. Nimm das direkt hinter DESC weg. Eine PHP-Anweisung wird immer ganz am Ende mit einem Semikolon abgeschlossen
Gruss
Gregor
Antwort 12 von Deathfun
Hmmm daran lag es nicht...
Noch jemand eine Idee ? ^^
Aber mal so nebenbei:
Ist das erste ; nicht zum beenden des SQL befehls und das zweite ; zum beenden des PHP befehls ?
Es wird ja mittels eines PHP befehls ein SQL ausgeführt.
Noch jemand eine Idee ? ^^
Aber mal so nebenbei:
Ist das erste ; nicht zum beenden des SQL befehls und das zweite ; zum beenden des PHP befehls ?
Es wird ja mittels eines PHP befehls ein SQL ausgeführt.
Antwort 13 von greg68
Nein,
innerhalb einer SQL-Abfrage muss kein Semikolon gesetzt werden aber immer am Ende der PHP-Anweisung. Du packst die Abfrage in eine Variable und führst dann erst mit mysql_query die Abfrage aus.
bei mir würde die Abfrage so aussehen
$sql=mysql_query("sql-abfrage") or die ...
kannste verschachteln.
aber ich sehe gerade das du nach "Rang" ein Komma hast. Lass das mal weg. Die Fehlermeldung sagt aus, dass es sich um einen ganz banalen Fehler handelt (Zeichen zuviel, Reihenfolge der Anweisung...).
Gruss
Gregor
innerhalb einer SQL-Abfrage muss kein Semikolon gesetzt werden aber immer am Ende der PHP-Anweisung. Du packst die Abfrage in eine Variable und führst dann erst mit mysql_query die Abfrage aus.
bei mir würde die Abfrage so aussehen
$sql=mysql_query("sql-abfrage") or die ...
kannste verschachteln.
aber ich sehe gerade das du nach "Rang" ein Komma hast. Lass das mal weg. Die Fehlermeldung sagt aus, dass es sich um einen ganz banalen Fehler handelt (Zeichen zuviel, Reihenfolge der Anweisung...).
Gruss
Gregor
Antwort 14 von Deathfun
*Kopf meets Tischplatte*
Jo jetzt gehts das *,* wars ^^
So so im ganze währe´s das dan.
Vielen dank an alle Helfer, ging wirklich sehr gut!
Gruß Deathfun
Jo jetzt gehts das *,* wars ^^
So so im ganze währe´s das dan.
Vielen dank an alle Helfer, ging wirklich sehr gut!
Gruß Deathfun

