2017-02-27 58 views
-1

我有一个问题,我想创建一个函数来计算数据库中的数据。但我希望从列中计算一些ID而不是所有行。PHP count some rows

我的代码不工作:

function countMember() { 
    include("./config/config.php"); 
    $fetch_countMember = $fetch_countMember->prepare("SELECT * FROM `accounts`"); 
    $fetch_countMember->execute(); 
    while($fetch_countMember= $fetch_countMember->fetch()) { 
    if($fetch_countMember["member"] == 5 || $fetch_countMember["member"] == 6 || $fetch_countMember["member"] == 12 || $fetch_countMember["member"] == 13 || $fetch_countMember["member"] == 14 || $fetch_countMember["member"] == 15 || $fetch_countMember["member"] == 16 || $fetch_countMember["member"] == 17 || $fetch_countMember["member"] == 20 || $fetch_countMember["member"] == 21) 
     $c_member++; 
    } 
    return $c_member; 
} 
+1

你有没有错误?对于计数部分,它将是最好的,如果你可以改变这样的查询:SELECT * FROM'accounts' WHERE member IN(...) –

回答

1

您需要使用PDO::exec()

优雅的方式来做到这一点:

$pdo = new PDO(....); 
$ids = [5,6,12,13,14,15,16,17,20,21]; 
$query = sprintf("SELECT * FROM accounts WHERE member IN (%s)", implode($ids, ',')); 
$count = $pdo->exec(); 
echo $count; 
+0

谢谢的家伙,它的工作:) – ToExeCute

+0

@ToExeCute欢迎您! –