kostenloser Webspace werbefrei: lima-city


Prüfen ob Datensatz vorhanden ist

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    unlikus

    unlikus hat kostenlosen Webspace.

    Ich möchte prüfen ob ein Datensatz mit einer bestimmten Bedungung vorhanden ist.
    alternativ geht es mit:
    $k=0;
    $ergebnis = mysql_query("SELECT * FROM `user` WHERE name = '".$name."' ");  
    while($row = mysql_fetch_row($ergebnis))
    {
        $k=5;  
    }
    if($k!=5)
    {
    echo "Datensatzt ist nicht vorhanden";
    }


    geht es nicht auch einfacher?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. unlikus schrieb:
    geht es nicht auch einfacher?


    $ergebnis = mysql_query("SELECT * FROM `user` WHERE name = '".$name."' ");  
    if (mysql_num_rows($ergebnis)!=1) echo "Datensatz ist nicht vorhanden";

  4. Und damit wir nicht den ganzen Datensatz unnötigerweise abfragen, kürzen wir die Datenmenge.

    $ergebnis = mysql_query("SELECT 1 FROM `user` WHERE name = '".$name."' LIMIT 1");  
    if (mysql_num_rows($ergebnis)!=1) echo "Datensatz ist nicht vorhanden";


    Den Stern als Abfragemenge sollte man sowieso nie benutzen.
  5. Autor dieses Themas

    unlikus

    unlikus hat kostenlosen Webspace.

    die 1 steht für die Spaltennummer?
  6. Die 1 steht für 1, da das Ergebnis der Abfrage ja egal ist. Wichtig ist in diesem Fall ja nur, ob ein Datensatz mit dem WHERE-Teil vorhanden ist.

    Wenn name='name' gib 1 zurück, sonst nichts. mysql_num_rows reicht das zum auswerten.
  7. Hallo

    ja mit COUNT() in der Abfrage bzw. mit mysql_num_rows()

    $ergebnis = mysql_query("SELECT * FROM `user` WHERE name = '".$name."' ");
    $anzahl = mysql_num_rows($ergebnis );
    
    if ( $anzahl < 1 ) { echo "Datensatzt ist nicht vorhanden"; }
    else { echo "Datensatzt ist vorhanden"; }


    oder

    $ergebnis = mysql_query("SELECT COUNT(*) AS treffer FROM `user` WHERE name = '".$name."' ");
    $anzahl = mysql_fetch_assoc($ergebnis); 
    
    if ( $anzahl['treffer']  < 1 ) { echo "Datensatzt ist nicht vorhanden"; }
    else { echo "Datensatzt ist vorhanden"; }



    ich glaube mysql_num_rows() ist schneller ...

  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!