何かの理由で私の更新ステートメントは、1行または複数行が変更されたかどうかにかかわらず、常に行カウントが0で返されます。クエリの結果PHP PDO常に0行を返す更新ステートメントrowCount()
標準のphpとpdoの準備クエリを使用します。テストされたselect文は、rowCount
の数値を返して正常に動作しています。しかし、それほど更新はありません。ここに私のコードです。どんな洞察も素晴らしいだろう。
$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();
Iは(しかしSELECT
と)同じコードを使用している、それが0より大きい結果を生成します。私はデータ変数を変更し、実行し、私はSQLデータベースをチェックし、それは正常に更新されました。しかし、私はphpmyadminで更新された行を見ることができるにもかかわらず、まだ行の数をカウントし、phpmyadminで直接sqlを実行すると、影響を受けた行が1つ戻ってきます。混乱している。
また、PDO
のエラーを受け取り、受信していません。詳細については、私のPDOデータベースコネクタは、以下の設定で設定されている
(接続を無視することは自分自身を詳述する。
$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');
があなたの援助のために事前にありがとうございます。
乾杯を、
Masbie
なぜ機能にバックスラッシュがありますか? ['rowCount()'は 'SELECT'文で動作しないため、' SELECT'は*任意の*結果を生成すべきではありません。](http://php.net/manual/en/pdostatement.rowcount.php) –
何ですかあなたの 'select'ステートメント?私は別の名前空間内でこれを構築しようとしているので、あなたの 'update'ステートメント –
を疑う。 – JMasbie