我是PDO的新手,对不起,这太简单了。
基本上,我想要SELECT
并获取返回的行和这些行的数量,在进一步处理之前为零行检查。
$rows = $conn->query('SELECT ...)
允许我foreach($rows as $row)
,但正如我所说,我想检查零。
count($rows)
总是返回1,即使没有结果(!)。
我想过使用SELECT SQL_CALC_FOUND_ROWS
后跟
$foundRows = $connection->exec('SELECT FOUND_ROWS() AS numRows');
但我非常愚蠢,以至于我无法弄清楚如何从中获取行数。
答案 0 :(得分:4)
基本上,我想要SELECT并获取返回的行和这些行的数量,
你选错了行
$rows = $conn->query('SELECT ...')->fetchAll();
实际上会给你$ rows数组,可以计算。然而,
在进一步处理之前检查零行。
您不需要为此计算$行数。只需使用$ rows数组本身:
id (!$rows) ... // no rows returned
如果你欠INDEED需要SELECT FOUND_ROWS() - 然后从查询中获得结果,你应该获取它:
$foundRows = $connection->query('SELECT FOUND_ROWS()')->fetchColumn();
请记住,永远不要将exec与PDO一起使用。