如何通過SQL聚合函數獲得增刪改的受影響行數?

如何通過sql聚合函數獲得增刪改的受影響行數?

再做進一步動作前就能夠計算出一個查詢返回或者影響的行數通常都非常有用,希望分頁顯示結果或生成統計信息時,這種功能特別方便,那么獲取受影響行數的功能是如何實現的呢?

一、通過SQL聚合函數 COUNT統計下旬結果記錄數

COUNT 返回一個查詢或者部分查詢的行數,通常和DINSTINCT一起使用。SQL的聚合函數COUNT 被多種數據庫廣泛支持!

二、通過 PDOStatement->rowCount()方法返回受影響行數

PDOStatement->rowCount()方法獲取到有多少行數被 UPDATE , INSERT 或者 DELECTE查詢所影響。rowCount()方法在典型的 PHP應用程序中并不常見,但是它可以統計出在調用PDOStatement->execute后,有多少行受到影響。

三、應用實例

通過SQL 聚合函數COUNT統計查詢返回的記錄數,其具體代碼如下:


????查詢關鍵字: ????

setAttribute(PDO::ATTR_ERRMODE,?PDO::ERRMODE_EXCEPTION); ????????$sql?=?“SELECT?COUNT(*)?FROM?user?WHERE?username?=?:id”;//需要執行的sql語句 ????????$stmt?=?$dbh->prepare($sql);//準備查詢語句 ????????$stmt->bindParam(‘:id’,?$_POST[‘nr’],?PDO::PARAM_STR);????????????//執行查詢語句,并返回結果集 ????????$result?=?$stmt->execute(); ????????echo?‘There?are’,$stmt->fetchColumn(),’rows?returned.’; ????}catch?(PDOException?$e){ ????????echo?‘PDO?Exception?Caught.’; ????????echo?‘Error?with?the?database:
‘; ????????echo?‘SQL?Query:’,$sql; ????????echo?‘Error:’.$e->getMessage(); ????} } ?>

運行本實例,在文本框中輸入要查詢的數據庫名稱,單擊“查詢”按鈕,即可顯示出所查詢到的結果行數,如下圖:

如何通過SQL聚合函數獲得增刪改的受影響行數?

說明:

在使用UPDATE 和DELETE語句時,一定要隨時確定添加了 WHERE子句,如果未添加WHERE子句,則則可能會更新數據庫中的所有列或者刪除表中的所有數據,無論哪一種情況都不是用戶所希望看到的。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享