PDO rowcount返回值

时间:2015-01-20 22:03:02

标签: php mysql pdo

我正在使用PHP的PDO(使用mysql服务器)来更新表。类似于查询的东西:

UPDATE  game g
SET     g.some_field=1
WHERE   g.game_id=:game_id AND g.is_finished=1
AND     (g.player1=:player_id OR g.player2=:player_id)
LIMIT   1

执行如下:

$psResult = $ps->execute();
if( !$psResult ){
    // database error
} else if( $ps->rowCount() <= 0 ){
    // no row was updated.
}

现在执行rowCount()检查的else-if语句在以下时间为0:

  • 没有记录,游戏ID等于:game_idis_finished设置为1且:player_idplayer1player2
  • 有这样的记录但是some_field已经设置为1。

我需要区分这些以便返回正确的错误/值。例如,如果字段设置为1或已经为1则返回true,如果没有匹配记录则返回false。

我该怎么做?还有其他方法可以进行额外的查询吗?

0 个答案:

没有答案