首页 > 解决方案 > 如何检查 PDO 查询是否有结果?

问题描述

我们有这个数据库类。query如果查询字符串是,则调用该函数可以正常工作,SELECT..但它不适用于UPDATE...查询。

问题是$stmt->fetchAll();,它不能fetchAll打开UPDATE...而且它是有道理的。

我如何判断查询是否可以fetchAll

class DB 
{
    public $db = null;
    public function __construct() { 
        try {
            $this->db = new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPWORD);
            $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $this->db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, 1);
        } catch(PDOException $e) {

        }
    }

    public function query( $query = "" , $params = [] ) {
        $stmt = $this->db->prepare( $query );

        foreach( $params as $param ) {
            $stmt->bindParam($param[0], $param[1]);
        }

        $stmt->execute();

        $records = $stmt->fetchAll(); //How can I tell if I can do this.
        return $records;

        return true;
    }
}

谢谢您的帮助。

标签: phpmysqlpdo

解决方案


推荐阅读