kostenloser Webspace werbefrei: lima-city


Problem mit INSERT INTO

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    hts

    hts hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    hts

    hts hat kostenlosen Webspace.

    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)
  5. s******r

    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
  6. 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]
  7. Autor dieses Themas

    hts

    hts hat kostenlosen Webspace.

    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
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!