0

如何使用 PHP 检查 MySQL 行是否存在?然后返回真假?

我试过这个:

// 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

4

1 回答 1

1

看看执行返回什么:

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

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

public function nameExist() {
    $stmt= $this->db->execute('SELECT COUNT(*) FROM `main_games` WHERE `url`=?', array($this->getSubdomain()));
    return $stmt->fetchColumn() 
}
于 2012-10-24T18:49:15.090 回答