php - PDO 两个查询,一个用于找到的行,另一个用于结果?

标签 php mysql

我目前在使用准备好的语句时执行两个查询。一个用于获取结果,另一个用于获取找到的行数。以前我可以通过 mysql_num_rows 的一个查询来完成此操作。对于较大的查询,我不想复制和粘贴查询并使用 COUNT 每个查询。有没有一种方法可以像 mysql_num_rows 这样在一个查询中执行此操作?

 $connectdb->prepare("SELECT * FROM users WHERE username=:username");
        $connectdb->prepare("SELECT COUNT(*) FROM users WHERE username=:username");
    $query = $connectdb->execute(array(':username'=>$username));                                    
            $numrows = $query->fetchColumn();

             if($numrows!=0) {
               while(false !==($row = $query->fetch()))
               {

最佳答案

该语句已具有行计数:PDOStatement::rowCount()

因此,仅使用 $query->rowCount(); 和您的第一个查询

PS:您的代码看起来根本无法工作。正确的应该是:

$stmt = $connectdb->prepare("SELECT * FROM users WHERE username=:username");
$stmt->execute(array(':username'=>$username));                                    
...

关于php - PDO 两个查询,一个用于找到的行,另一个用于结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11322462/

相关文章:

php - 警告 : Cannot connect to database (connecting to 3. 22、不支持 3.23 和 4.0)SQLSTATE [HY000] [2054]

php - MySQL从不在另一个表中的表中选择特定条目

php - 如何在没有 SSL 的情况下保护身份验证 cookie

php - WAMPSERVER PHP MYSQL - (mysqlnd 5.0.10 错误)

java - Android:用户使用 php 登录时出错

mysql - 不带别名删除

php - Laravel HasManyThrough 关系空输出

mysql - 我如何在 typo3 存储库方法中实现日期转换

php - 对话 mysql Laravel Eloquent 中的最后一条消息

php - 共享主机上的绝对路径 : Installing Smarty