如何计算PHP中数据库中相同数据的数量

时间:2018-04-17 02:29:17

标签: php sql database pdo count

我正在尝试计算数据库中与POST方法获取的电子邮件地址数相同的电子邮件地址数。但似乎这段代码无法正确计算数字,而是返回一个空格。我的PHP代码有什么问题吗?感谢您抽出宝贵时间。

<?php
  require_once('PHP/function.php');

  $mail = $_POST['email'];


  $sql = "select count(*) as num from `xxxx` where `mail` = '{$mail}' ;";
  $count = mysqlPDO($sql);
  $count = $count[0]["count(*)"];

  echo "number of the same email adress:\n".$count;
?>

function.php在下面;

<?php
    function mysqlPDO($sql){

        $dsn = 'mysql:dbname=aaaaa;host=localhost';

    try{
        $dbh = new PDO($dsn,'xxx','zzzzzzz');
        $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        $stmt = $dbh -> query("SET NAMES utf8;");
        $stmt = $sth= $dbh->prepare($sql);
        $sth->execute(array());
        $result=$sth->fetchall(PDO::FETCH_ASSOC);

        }catch (PDOException $e){
          $result = "error";
        }

        return $result;

    }

?>

1 个答案:

答案 0 :(得分:2)

我不熟悉PDO的做事方法。但根据我在执行SELECT语句后所做的研究ref this应该返回与$ _POST电子邮件地址匹配的行数。

$sth->fetchColumn();