Ich weiß, dass dies eine Frage ist, aber aus irgendeinem Grund meine Update-Anweisungen geben immer eine Zeile Anzahl von 0 zurück, unabhängig davon, ob eine einzelne Zeile oder mehrere Zeilen geändert haben ein Ergebnis einer AbfragePHP PDO Update-Anweisungen geben immer 0 Zeilen zurück rowCount()
Mit Standard-PHP und PDO vorbereitete Abfragen. Getested Select-Anweisungen und sie haben gut funktioniert mit der Rückgabe der rowCount
Nummer. Aber Updates nicht so sehr. Hier ist mein Code. Alle Einsichten wären großartig.
$sql = "UPDATE token SET tokenkey = ? WHERE token_id = 1";
$r = $this->database->databaseConnections['core']->prepare($sql);
$r->setFetchMode(\PDO::FETCH_ASSOC);
$data = "123123";
$res = $r->execute(array($data));
echo $r->rowCount();
Ich habe den gleichen Code (aber mit SELECT
) verwendet und es wird ein mehr als 0 Ergebnis. Ich ändere die Datenvariable, sie führt aus, ich checke die SQL-Datenbank ein, sie wurde erfolgreich aktualisiert. Aber immer noch eine Zeile Anzahl von 0, obwohl ich in phpmyadmin die aktualisierte Zeile sehen kann, und wenn ich die SQL direkt in phpmyadmin ausführen kommt es mit 1 betroffenen Zeile zurück. Verwirrt.
Ich auch für PDO
Fehler überprüft und keine erhalten.
Weitere Informationen meiner gU Datenbank-Anschlüsse mit folgenden Konfiguration eingerichtet (die Verbindung zu ignorieren, sie Details.
$connection->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$connection->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
$connection->setAttribute(\PDO::ATTR_EMULATE_PREPARES, false);
$connection->exec('SET NAMES utf8');
Sie für Ihre Hilfe Vielen Dank im Voraus.
Cheers,
Masbie
Warum gibt es Rückschläge in Ihren Funktionen? 'SELECT' sollte kein * any * Ergebnis erzeugen, da [' rowCount() '' nicht mit 'SELECT' Anweisungen funktioniert.] (Http://php.net/manual/en/pdostatement.rowcount.php) –
was ist Ihre 'Select'-Anweisung? Ich bezweifle deine "update" Anweisung –
Backslashes, wie ich dies in einem anderen Namespace erstellen – JMasbie