如何通過SQL聚合函數獲得增刪改的受影響行數?
發表時間:2023-08-28 來源:明輝站整理相關軟件相關文章人氣:
[摘要]如何通過SQL聚合函數獲得增刪改的受影響行數?再做進一步動作前就能夠計算出一個查詢返回或者影響的行數通常都非常有用,希望分頁顯示結果或生成統計信息時,這種功能特別方便,那么獲取受影響行數的功能是如何實現的呢?一、通過SQL聚合函數 COUNT統計下旬結果記錄數COUNT 返回一個查詢或者部分查詢的...
如何通過SQL聚合函數獲得增刪改的受影響行數?再做進一步動作前就能夠計算出一個查詢返回或者影響的行數通常都非常有用,希望分頁顯示結果或生成統計信息時,這種功能特別方便,那么獲取受影響行數的功能是如何實現的呢?
一、通過SQL聚合函數 COUNT統計下旬結果記錄數
COUNT 返回一個查詢或者部分查詢的行數,通常和DINSTINCT一起使用。SQL的聚合函數COUNT 被多種數據庫廣泛支持!
二、通過 PDOStatement->rowCount()方法返回受影響行數
PDOStatement->rowCount()方法獲取到有多少行數被 UPDATE , INSERT 或者 DELECTE查詢所影響。rowCount()方法在典型的 PHP應用程序中并不常見,但是它可以統計出在調用PDOStatement->execute后,有多少行受到影響。
三、應用實例
通過SQL 聚合函數COUNT統計查詢返回的記錄數,其具體代碼如下:
<form action="5.php" name="form1" method="post">
查詢關鍵字:<input type="text" name="username" id="nr">
<input type="submit" name="Submit" value="查詢">
</form>
<?php
header("Content-Type:text/html; charset=utf-8"); //設置頁面的編碼格式
if(isset($_POST['Submit']) && $_POST['Submit']=="查詢") {
$dbms = "mysql"; // 數據庫的類型
$dbName ="php_cn"; //使用的數據庫名稱
$user = "root"; //使用的數據庫用戶名
$pwd = "root"; //使用的數據庫密碼
$host = "localhost"; //使用的主機名稱
$dsn = "$dbms:host=$host;dbname=$dbName";
try {
$dbh = new PDO($dsn, $user, $pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo
$dbh->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:<br>';
echo 'SQL Query:',$sql;
echo 'Error:'.$e->getMessage();
}
}
?>
運行本實例,在文本框中輸入要查詢的數據庫名稱,單擊“查詢”按鈕,即可顯示出所查詢到的結果行數,如下圖:

說明:
在使用UPDATE 和DELETE語句時,一定要隨時確定添加了 WHERE子句,如果未添加WHERE子句,則則可能會更新數據庫中的所有列或者刪除表中的所有數據,無論哪一種情況都不是用戶所希望看到的。
以上就是如何通過SQL聚合函數獲得增刪改的受影響行數?的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。