Php 如何检查PDO查询是否有结果?
我们有这个数据库类。如果查询字符串是Php 如何检查PDO查询是否有结果?,php,mysql,pdo,Php,Mysql,Pdo,我们有这个数据库类。如果查询字符串是SELECT..,调用query函数可以正常工作,但它不适用于UPDATE…查询 问题是$stmt->fetchAll(),它不能在更新…上获取所有,这是有意义的 如何判断查询是否可以fetchAllable class DB { public $db = null; public function __construct() { try { $this->db = new PDO('mysql
SELECT..
,调用query
函数可以正常工作,但它不适用于UPDATE…
查询
问题是$stmt->fetchAll()代码>,它不能在更新…
上获取所有
,这是有意义的
如何判断查询是否可以fetchAll
able
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;
}
}
谢谢你的帮助。实际上,这是一个很好的问题。而且功能也很好。我强烈建议让这个函数返回$stmt
,而不是fetchAll()。你会惊讶于这个功能会变得多么灵活!更不用说它也能解决你目前的问题。请参阅我的文章的示例部分,看看如果函数返回$stmtt,这个函数的使用有多大不同,实际上这是一个非常好的问题。而且功能也很好。我强烈建议让这个函数返回$stmt
,而不是fetchAll()。你会惊讶于这个功能会变得多么灵活!更不用说它也能解决你目前的问题。请参考我的文章中的示例部分,看看这个函数在返回$stmt时可以有多大的不同用途