[Funktion] Fehlerabfrage geht nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Fehlerabfrage geht nicht

    Hallo. Ich habe ein Problem mit der Abfrage bei der Neueingabe von Datensätzen in eine Datenbank. Bis vor kurzem hat es funktioniert.
    Ich weiß nicht, was ich verbockt habe. Problem: An die Datenbank wird ein leerer Datensatz angehängt, obwohl eine Abfrage "if ($num=0) eingebaut ist, die, wenn nichts eingetragen ist, eine Fehlermeldung bringt. Doch die Abfrage wird einfach ignoriert. Gibt es noch eine andere Möglichkeit bei "Null" Eintrag eine "else"-Fehlermeldung einzubauen?
    Ansonsten funktioniert das Script einwandfrei. Danke für jede Hilfe. Rolf_M
    Als Anhang das Script:

    <html>
    <head>
    <link href="format_main.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
    <table border=0 align=center width="100%">
    <tr>
    <td valign=top height=50>
    <p align=center><img src="logo.gif" height=62 width=658></p>
    </td>
    </tr>
    </table>
    <br><br>
    <?php
    if ($gesendet)
    {
    require("login.php4");

    $sqlab = "insert datenbank";
    $sqlab .= "(motiv, latein,";
    $sqlab .= " englisch, stichworte) values ";
    $sqlab .= "('$na', '$vn', '$ge', '$gt')";

    mysql_db_query("$dbname", $sqlab);

    $num = mysql_affected_rows();
    if ($num>0)
    echo "Es wurde 1 Datensatz hinzugefügt<p>";
    else
    {
    echo "Es ist ein Fehler aufgetreten, ";
    echo "es wurde kein Datensatz hinzugefügt<p>";
    }
    mysql_close($dbname);
    }
    ?>
    <b>Geben Sie einen vollständigen Datensatz ein und senden Sie das
    Formular ab:</b>
    <form action = "datei_02.php" method = "post">
    <input name="na" size="60" maxlength="60"> Motiv<p>
    <input name="vn" size="60" maxlength="60"> Wiss. Name<p>
    <input name="ge" size="60" maxlength="60"> Engl. Name<p>
    <textarea name="gt" cols="70" rows="6"></textarea> Stichworte<p>
    <input type="submit" name="gesendet">
    <input type="reset">
    </form>

    <br><br>
    <p><font color="#FFFF00"><a href="mainseite.php" target="Main">zur&uuml;ck zur Hauptseite</a></font></p></td>
    </body>
    </html>

  • #2
    mit
    PHP-Code:
    if ($num=0
    meinst du sicher die zeile
    PHP-Code:
    if ($num>0
    und die sagt ja nur, dass Zeilen eingefügt wurden. Ob die leer sind oder nicht, interessier mysql_affected_rows gar nicht.

    Die überprüfung (ob die gesendeten Daten leer sind) muss VOR dem Eintrag in die DB statt finden.

    Und bitte halte dich bei deinem Nächsten Posting an die Regeln. Code gehört in PHP-Tags! und außerdem gehört nur der relevante Code gepostet.

    Kommentar


    • #3
      Achso, über register globals brauche ich dich ja hoffentlich nicht aufzuklären. (Falls das doch die Ursache war, behalte es am besten für dich. )

      Kommentar

      Lädt...
      X