mysql_affected_rows() liefert nur -1, 0, 1

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

  • mysql_affected_rows() liefert nur -1, 0, 1

    Hallo,
    möchte mit mysql_affected_rows() das erfolgreiche updaten einer Tabelle testen. Das Update an sich funktioniert einwandfrei. mysql_affected_rows() liefert bei fehlerhafter Verbindung "-1" und beim update ohne geänderte Daten "0". Das passt alles. Wenn ich Daten verändere bekomme ich jedoch immer "1", egal wie viele rows betroffen sind.
    Verkürzt schaut mein Script so aus:

    [Verbindungsdaten]
    mysql_select_db("name",$link);
    $sql="update .... ";
    mysql_query($sql);

    $error=mysql_affected_rows();

    Wie gesagt, $error nimmt nur die Werte -1, 0 und 1 an!
    Was mache ich falsch?

  • #2
    Du verheimlichst den SQL-Code, Datenbankstruktur und Beispieldaten. Außerdem verwendest du die veralteten mysql-Funktionen. Verwende stattdessen mysqli oder PDO.

    Kommentar


    • #3
      Das Update-Script läuft schon seit einigen Jahren erfolgreich, sehe keinen Anlass, das Script an sich zu "modernisieren". Es geht nur um die Überprüfung des erfolgreichen updates. Alle weiteren Angaben sind wohl nicht notwendig. Das Update funktioniert ja einwandfrei. mysql_affected_rows() liefert ja mit Einschränkung die richtigen Ergebnisse. Zumindest wird das erfolgreiche Update mit der "1" bestätigt.

      Kommentar


      • #4
        Zitat von SqlPhpNovize Beitrag anzeigen
        Das Update-Script läuft schon seit einigen Jahren erfolgreich, sehe keinen Anlass, das Script an sich zu "modernisieren".
        Weil die mysql-Funktionen irgendwann wegfallen werden. Und dann hat man plötzlich einen Zeitdruck.

        Zitat von SqlPhpNovize Beitrag anzeigen
        Es geht nur um die Überprüfung des erfolgreichen updates. Alle weiteren Angaben sind wohl nicht notwendig. Das Update funktioniert ja einwandfrei. mysql_affected_rows() liefert ja mit Einschränkung die richtigen Ergebnisse. Zumindest wird das erfolgreiche Update mit der "1" bestätigt.
        Nein, mysql_affected_rows() liefert die Anzahl der geänderten Zeilen. Somit liegt der Fehler irgendwo anders.

        Kommentar

        Lädt...
        X