php - 如何检查 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;
}
}
谢谢您的帮助。
解决方案
推荐阅读
- reactjs - 关于在 useEffect() 回调中附加处理程序时丢失事件的风险
- php - 如何在 php 数据库中插入 csv 文件的第一行?
- python - 在 minimummodbus 中更改波特率
- c# - 将 XML 文件变量设置为代码内变量不起作用
- java - 如何在不从网站注销的情况下测试硒代码
- c# - 在c#中将复杂的json转换为Datatable
- java - 跟踪节点 Obervable Nodes JavaFX
- python-3.x - ValueError:错误的项目数通过 2,位置意味着 1 在对两列进行分组并转换组以计算计数时
- javascript - 如何在不使用表单且不刷新页面的情况下检查按钮是否被按下?
- java - 自定义 kerberos 过滤器类的 Java 编译错误