检查行是否存在?

时间:2012-10-24 18:40:56

标签: php mysql class

如何使用PHP检查MySQL行是否存在?然后返回true或false?

我试过了:

// Does a game with that url-name exist?
public function nameExist() {
    return $this->db->execute('SELECT COUNT(*) FROM `main_games` WHERE `url`=?', array($this->getSubdomain()));
}

以下是该课程的来源: http://pastebin.com/p17gUEPA

以下是我运行此类的钩子的来源: http://pastebin.com/WjSNLCMd

1 个答案:

答案 0 :(得分:1)

看看执行返回的内容:

  

成功时返回TRUE,失败时返回FALSE。

所以即使有0行但是执行语句成功,那么你仍然会得到一个真值。你可以做的是使用fetchColumn()来实际获取行数并返回它。像这样:

public function nameExist() {
    $stmt= $this->db->execute('SELECT COUNT(*) FROM `main_games` WHERE `url`=?', array($this->getSubdomain()));
    return $stmt->fetchColumn() 
}