Comment obtenir le nombre de lignes concernées par les ajouts, suppressions et modifications via les fonctions d'agrégation SQL ?
Pouvoir calculer le nombre de lignes renvoyées ou affectées par une requête avant d'entreprendre d'autres actions est généralement très utile. Cette fonction est particulièrement pratique lorsque vous souhaitez afficher des résultats dans des pages ou générer. informations statistiques. Alors, comment la fonction d'obtention du nombre de lignes affectées est-elle mise en œuvre ?
1. Comptez le nombre d'enregistrements de résultats en retard via la fonction d'agrégation SQL COUNT
COUNT renvoie le nombre de lignes d'une requête ou d'une partie d'une requête, généralement la même que DINSTINCT utilisée ensemble. La fonction d'agrégation COUNT de SQL est largement prise en charge par une variété de bases de données !
2. Renvoie le nombre de lignes affectées via la méthode PDOStatement->rowCount()
Obtenu par PDOStatement->rowCount() () méthode Combien de lignes sont affectées par les requêtes UPDATE, INSERT ou DELECTE. La méthode rowCount() n'est pas courante dans les applications PHP typiques, mais elle peut compter le nombre de lignes affectées après l'appel de PDOStatement->execute.
3. Exemples d'application
Statistiques du nombre d'enregistrements renvoyés par la requête via la fonction d'agrégation SQL COUNT Le code spécifique est le suivant. :
<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(); } } ?>
Exécutez cette instance, saisissez le nom de la base de données à interroger dans la zone de texte, et cliquez sur le bouton « Requête » pour afficher le nombre de lignes des résultats interrogés, comme indiqué ci-dessous :
Remarque :
Lors de l'utilisation des instructions UPDATE et DELETE, assurez-vous d'ajouter une clause WHERE à tout moment. Si une clause WHERE n'est pas ajoutée, tout. Les colonnes de la base de données peuvent être mises à jour ou supprimées. Toutes les données du tableau ne correspondent pas à ce que l'utilisateur souhaite voir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!