mysql_affected_rows() liefert nur -1, 0, 1

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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.

      Comment


      • #4
        Originally posted by SqlPhpNovize View Post
        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.

        Originally posted by SqlPhpNovize View Post
        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.

        Comment

        Working...
        X