Problem mit INSERT INTO
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angegebene name
armada
array
auswahl
bedingung
datenbank
datum
einschreiben
fehlermeldung
file
folgendes problem
jemand
letzter bester schlechtester durchschnitt
liebe leute
problem
prozent
quiz
sagen
spalten
versuchen
-
Hallo liebe Leute,
ich habe folgendes Problem:
Bei einer Auswahl, sollen, falls $_POST['name'] noch nicht in der MySQL Datenbank ist, einige Daten eingetragen werden. Dies funktioniert aber nicht.
$mysql_select = mysql_query ('SELECT name FROM quiz WHERE name = "'.$_POST['name'].'"');
if (mysql_num_rows ($mysql_select) == '0')
{
$mysql_query = ('INSERT INTO quiz (name, letzter, bester, schlechtester, durchschnitt, versuche) VALUES ("'.$name.'", "'.$prozent.'", "'.$prozent.'", "'. $prozent.'", "1")');
}
else {
...
Fehlermeldung kommt keine, nur wenn ich dieses Quiz durchf?hre, und der am Ende angegebene $name noch nicht in der Datenbank ist, soll dieser dann eigentlich erstellt werden, aber dies passiert nicht.
Kurz gesagt: Das Einschreiben in die Datenbank funktioniert nicht, Fehlermeldung: keine
Beitrag ge?ndert am Sat, 22.01.2005 11:59 von 0-checka -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also ich wei? jetzt nich ganz genau was du meinst...aber im insert-befehl hast du 6 spalten aber nur 5 values angegeben
du kannst auch mal nach dem insert das in die php-file mit reinschreiben:
echo mysql_error();
damit bekommste die mysql-fehlermeldung, die standardm??ig nich von php ausgegeben wird
mfg
armada -
Ja, danke. ?ndert aber alles nichts daran, dass er nichts eintr?gt.
Daher vermute ich jetzt, dass es an der Bedingung hier liegt, wei? jemand von euch, was daran falsch ist?
$mysql_select = mysql_query ('SELECT * FROM quiz WHERE name = "'.$_POST['name'].'"');
if (mysql_num_rows ($mysql_select) == 0) -
Hallo zusammen.
Also es m?sste so aussehen:
$mysql_select = mysql_query ('SELECT name FROM quiz WHERE name = "'.$_POST['name'].'"');
if (mysql_num_rows ($mysql_select) == '0')
{
$mysql_query = ('INSERT INTO `quiz` (`name`, `letzter`, `bester`, `schlechtester`, `durchschnitt`, `versuche`) VALUES ("$name", "$prozent", "$prozent'", "'$prozent'", "$prozent", "1")');
}
else {
...
Das Problem lag darin, dass du die nach links gedrehten Umlaute nicht gesetzt hast ( `), und 6 Values angegeben hast, aber nur 5 mal einf?gen 'wolltest'...
bis dann,
scripter -
und das erste so
$name = $_POST['name'];
$mysql_select = mysql_query ('SELECT name FROM quiz WHERE name =$name');
am besten keine arrays darein schreiben, das funtzt net so gut, wegen den ganzen anf?hrungszeichen oder wenn array dann so $_POST[name] -
Ja, ist ja alles sch?n und gut, dass ihr da lauter Unkorrektheiten findet. Das geh?rt sich vielleicht im richtigen PHP nicht so, aber es ?ndert alles nichts, dies umzu?ndern.
Es bleibt weiterhin das Problem, das entweder die Bedingung nie entsteht, oder dass die Bedingung nicht richtig ausgef?hrt wird.
$mysql_select = mysql_query ('SELECT name FROM quiz WHERE name = "'.$name.'"');
if (mysql_num_rows ($mysql_select) == 0)
Aber ich sehe es doch richtig, dass wenn $name = bla die Bedingung erf?llt ist. Oder etwa nicht?
Und k?nnt ihr mir vielleicht was genaueres zu "mysql_num_rows" sagen? Ich hab das nur so von 'nem Freund geswagt bekommen.
Edit:
Das "echo mysql_error();" hab ich eingef?gt, es erscheint aber keine Fehlermeldung.
Beitrag ge?ndert am 22.01 19:49 von hts -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage