使用预准备语句获取COUNT DISTINCT数据

时间:2017-08-24 21:01:17

标签: php mysql

我有这个代码来获取COUNT DISTINCT数据:

 $param = 'email';

    $stmt = $conn->stmt_init();
    $stmt = $conn->prepare("SELECT COUNT(DISTINCT(?)) FROM contatos");
    $stmt->bind_param('s',$param);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($count);

    while ($stmt->fetch()) {
        echo $count;
    }   

echo $count总是返回1,但我有几十条记录......

有什么问题?

由于

1 个答案:

答案 0 :(得分:2)

列名(或表名)的绑定为not allowed。您的查询未正确执行。您需要直接传递该字段的名称。

$stmt = $conn->prepare("SELECT COUNT(DISTINCT(email)) FROM contatos");