计数数组索引并将整数转换为字符串


PHP Count array index and convert integer to string

我从mysqli查询中获得了一个数组,该数组包含任务列表。我必须计算数组中有多少个任务(所以只有行数),并放入一个图标徽章作为人类可读的数字。

     try {
    $db = new PDO("mysql:host=127.0.0.1;dbname=c9", "andreaem_dev", "");
    //echo "Connected to database<br/>"; // check for connection
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
    $sql = "SELECT ID FROM data_tasks WHERE data_tasks . user = 'admin'"; //I'm selecting ID so only one element on the row is count
    $result = $db->query($sql);
    foreach ($result as $row) {
            $row = $result->fetch(PDO::FETCH_NUM);
            echo $row[0];
        }
    $db = null; // close the database connection
}
catch(PDOException $e) {
    echo $e->getMessage();
}

使用此代码,我得到一个int(2)响应,数组包含5个元素,我不知道在哪里需要'2',即使我必须将其转换为数字。

谢谢你的建议!

*sigh*

mysql中需要使用count()函数。这就是数据库的工作方式:它们为您计算数据。你不需要手数。您不需要选择id。你不需要遍历结果。您不需要将数字转换为字符串。你只需要让数据库计数,然后得到结果。

$db = new PDO("mysql:host=127.0.0.1;dbname=c9", "andreaem_dev", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT count(*) FROM data_tasks WHERE user = 'admin'";
$count = $db->query($sql)->fetchColumn();