PHP PDO MySQL Richtigen Weg, um zu überprüfen, wenn Sie eine update-Abfrage gelungen, wenn keine Zeilen betroffen sind

Was ist ein sicherer Weg, zu sagen, wenn eine update-Abfrage, gelang es bei der Verwendung von php, pdo und mysql?

In meiner app, update ich die Summen der Elemente, die eingereicht werden, aber ein Benutzer, und die Tabelle sieht wie folgt aus:

Elemente

userId | itemsAdded | itemsChecked | itemsUnChecked | itemsTotal
     1 |          5 |            2 |              3 |          5

So, wenn ich update items set itemTotals = itemsChecked+itemUnChecked die itemsTotal Spalte bleibt gleich, es sei denn, die itemsAdded änderungen und die itemsUnChecked Schritten (2 + 3 gleich 5, 1 + 4 ist auch 5).

Ich verwendet, um zu verwenden rowCount() um zu prüfen, ob eine Abfrage erfolgreich war, aber in diesem Fall, da die itemsTotal Spalte bleibt gleich, es gibt keine Möglichkeit zu sagen, wenn die sql-gelungen oder nicht.

$query = $conn->prepare($sql);

$query->execute(array(

    ":itemCount" => $itemCount
    ":itemId" => $itemId
));

$queryCount = $query->rowCount();

if($queryCount == 1) {
    echo 'Updated succeeded';
} else {
    echo 'Updated failed!';
}

Könnte ich auch gebrauchen:

$query = $conn->prepare($sql);

$result = $query->execute(array(

    ":itemCount" => $itemCount
    ":itemId" => $itemId
));

if($result) {
    echo 'Updated succeeded';
} else {
    echo 'Updated failed!';
}

Aber nicht, dass true oder false zurückgeben, basierend auf, wenn die Abfrage erfolgreich ausgeführt werden, oder basierend auf der Anzahl der Zeilen, die aktualisiert?

Brauche ich nur um zu überprüfen, ob die Abfrage erfolgreich war oder nicht. Keine Notwendigkeit zu sagen, die Anzahl der Zeilen, die aktualisiert wurden.

InformationsquelleAutor jmenezes | 2014-08-06
Schreibe einen Kommentar