加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP PDO mysql计数行返回

发布时间:2020-12-13 17:10:31 所属栏目:PHP教程 来源:网络整理
导读:对此有很多疑问,我做了很多研究.但是,我仍然想知道我是否正确这样做. 这是我的陈述(我简化了): try { $stmt = $pdc_db-prepare("SELECT * FROM table WHERE color = :color"); $stmt-bindValue(':color',$selected_color); $stmt-execute(); $color_query =
对此有很多疑问,我做了很多研究.但是,我仍然想知道我是否正确这样做.

这是我的陈述(我简化了):

try {
        $stmt = $pdc_db->prepare("SELECT * FROM table WHERE color = :color"); 
        $stmt->bindValue(':color',$selected_color);
        $stmt->execute(); 
        $color_query = $stmt->fetchAll();
    } catch(PDOException $e) { catchMySQLerror($e->getMessage()); }

现在,我使用以下内容来查看是否返回了任何结果:

if (count($color_query) > 0) {

这样可行,但是…… SELECT语句只返回一个结果.所以现在要访问结果中的东西,我使用的是$color_query [0] [colorname].我知道这是因为我正在使用fetchAll(),但我真的想要使用fetch()

但是,如果我只使用fetch(),我将失去执行count()的能力,这对我来说非常简单.我知道我可以做一个单独的查询并检查SELECT COUNT(*)的结果,但这似乎更多的工作(为每个设置两个单独的查询)

必须有一种方法,使用PHP中的PDO与mySQL,检查fetch()是否返回了结果?

解决方法

执行()之后的 $stmt->rowCount(),但不适用于所有数据库…尝试使用MySQL,看看你得到了什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读