2017-02-27 8 views
-1

Ich habe ein Problem, ich möchte eine Funktion erstellen, die die Daten aus der Datenbank zählt. Aber ich möchte, dass aus der Spalte einige IDs und nicht alle Zeilen zählen.PHP zählen einige Zeilen

Mein Code, das nicht funktioniert:

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

Haben Sie einen Fehler haben? Für den Count-Teil wäre es am besten, wenn Sie die Abfrage in etwa wie folgt ändern könnten: SELECT * FROM 'accounts' WHERE member IN (...) –

Antwort

1

Sie benötigen PDO::exec()

elegante Art und Weise zu verwenden, es zu tun:

$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

Dankeschön, es funktioniert :) – ToExeCute

+0

@ToExeCute you welcome! –