2016-05-26 8 views
0

何かの理由で私の更新ステートメントは、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

+0

なぜ機能にバックスラッシュがありますか? ['rowCount()'は 'SELECT'文で動作しないため、' SELECT'は*任意の*結果を生成すべきではありません。](http://php.net/manual/en/pdostatement.rowcount.php) –

+0

何ですかあなたの 'select'ステートメント?私は別の名前空間内でこれを構築しようとしているので、あなたの 'update'ステートメント –

+1

を疑う。 – JMasbie

答えて

-1

多くの検索の後、不満を解消しなければならなかったので、XAMPPサーバーのすべてのトレースをアンインストールしました ランニング。その後、それを再インストールしました。以前に使ったのと同じインストールとバージョン。そして、コードを書き直してください。そして今、それは動作します。おそらくサーバーベース内にいくつかの破損があったように見えます。 乾杯。

関連する問題