我正在使用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:
:game_id
,is_finished
设置为1且:player_id
为player1
或player2
。some_field
已经设置为1。我需要区分这些以便返回正确的错误/值。例如,如果字段设置为1或已经为1则返回true,如果没有匹配记录则返回false。
我该怎么做?还有其他方法可以进行额外的查询吗?