kostenloser Webspace werbefrei: lima-city


Wenn kein Datensatz geunden, dann...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    k*********2

    Ich habe zu folgendem ein Priblem. Und zwar wenn sich jemand bei mir einloggt, dann soll ?berpr?ft werden, ob es die entsprechende ID-Nummer gibt. Sofern diese besteht... soweit so gut... erledigt

    Meine Anweisung ist in ca. folgende:

    $result = mysql_query("SELECT * FROM tabelle WHERE ID='123'", $dbverbindung)

    Wenn jetzt aber keine Datens?tze gefunden (sprich ID ist ung?ltig) wurden soll eine Fehlermeldung erscheinen. Ich kenne nur die "or DIE"-M?glichkeit, aber mit der kann man nen Abschlu?text ja nur eingeben. Ich will aber, das dieser dann noch etwas ausf?hrt!

    Wer kann mir da helfen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. djfun

    Co-Admin Kostenloser Webspace von djfun

    djfun hat kostenlosen Webspace.

    hm..

    kannst du nicht einfach

    if($result){
    //.........
    }else{
    //.......
    }

    machen ?
  4. Autor dieses Themas

    k*********2

    Das mit der if ($result="") Methode habe ich schon zuvor ausprobiert, und das hatte nicht geklappt, weil er mir angab, das sich, auch wenn keine Ergebnisse drin befinden, immer noch ein [object] vorhanden ist.
    Ich habe den Script ausgeweitet, indem ich erstmal einen Datensatz mit einer Entsprechenden ID einf?ge, aber der total fehlerhafte Daten enth?lt. Daraufhin lese ich alle Datens?tze mit der ensprechenden ID aus, und speicher nur den in Variablen, dessen Pr?fsumme richtig ist. Daraufhin l?scht er den fehlerhaften Datensatz wieder. Das h?rt sich zwar kompliziert an, aber klappt super. Nur m?chte ich dem Server sowie dem User (auch wenns Millisekunden sind, diese Zusatzoperationen ersparen. Ich gebe mal am besten den Quelltext meiner Registrierungsbest?tigung (da ist das genauso):

    <span class="standardtext"><b>Registrierung</b><br><br></span>
    <?php
    $getsub = $_GET["sub"];
    include("initpage.inc.php");
    $preloadstring="INSERT INTO register_key (wochenstatistik, user_key) VALUES ('X', '$getsub');";
    mysql_query($preloadstring, $db_conn);
    $checkoutstring = "SELECT dienst, mailadresse, homepage, wochenstatistik, user_id, user_pass FROM register_key WHERE user_key = '$getsub';";
    $result = mysql_query($checkoutstring, $db_conn);
    $foundcode="Z";
    while($i = mysql_fetch_row($result)) {
    if ($i[3]=="j" || $i[3]=="n") {
    $save_dienst = $i[0];
    $save_mailadresse = $i[1];
    $save_homepage = $i[2];
    $save_wochenstatistik = $i[3];
    $save_user_id = $i[4];
    $save_user_pass = $i[5];
    $foundcode="A";
    echo "<span class=\"standardtext\">Die Registrierung war erfolgreich!<br><br>Du kannst dich jetzt mit deinen Daten unter Login einloggen.<br><br>Viel Spa? auf Freeservice.de.be</span>";
    // Hier erfolgt die L?schung des X-Datensatzes, sowie die Umbuchung des User-Status
    }};
    if ($foundcode=="Z") {echo "<span class=\"standardtext\">Die Registrieungsdaten sind ung?ltig!<br><br>Eventuell best?tigst du deine Mail viel zu sp?t, oder dein Link ist ung?ltig! Bitte registriere dich in diesem Fall erneut!</span>";};
    ?>

    Vielleicht hat jemand da mehr Ahnung als ich, sonst mu? ich bei der Methode bleiben
  5. Hi kenny!

    Im Prinzip hast du zwei m?glichkeiten dein Problem zu pr?fen:

    $result = mysql_query("SELECT COUNT(*) FROM tabelle WHERE ID='123'", $dbverbindung)
    $anzahl = mysql_fetch_array($result);
    if ($anzahl[0] == 0)
    {
    echo ("FEHLER.......");
    }
    else
    {
    ......
    }

    Aber wie ich im unteren Post gesehen habe, ben?tigst du dann noch daten!
    Da w?re es besser, wenn du ein Feld mitliest, welches NOT NULL ist, z.B den Primary Key

    $result = mysql_query("SELECT PRIMARY_KEY, ......... FROM tabelle WHERE ID='123'", $dbverbindung)
    $ergebnis = mysql_fetch_array($result);
    if ( ! $ergebnis[0] )
    {
    echo ("FEHLER....");
    }
    else
    {
    .......
    }

    oder meinst du etwas anderes?!
    Hoffe, ich habe geholfen!

  6. Autor dieses Themas

    k*********2

    Die Zeile
    $anzahl = mysql_fetch_array($result);
    gibt schon eine Fehlermeldung aus, wenn keine Daten gefunden wurden.

    Ich k?nnte jetzt rein theoretisch daraus folgendes machen:
    $anzahl = mysql_fetch_array($result);
    or DIE(".....");

    aber dann ist wieder das Problem, das ich nur einen Abschlutext nutze, und keine weitere Verarbeitung danach machen kann.

    Es klappt aber auch nicht
    $anzahl = mysql_fetch_array($result);
    or {
    ...anweisungen
    }

    Dann sagt er mir, das der or-Befehl falsch verwendet wird!
  7. 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!