我想计算数据库中的行数。使用where子句和AND子句计算。
请告诉我怎样才能在pdo中做到这一点..
这些是我的疑问:
$stmt=$dbh->prepare("SELECT * from questions where (category_id = ?) AND (complexity_id = ?) ORDER BY RAND()");
$stmt->execute(array($_POST['category'],$_POST['complexity']));
$data = $stmt->fetchAll(PDO::FETCH_OBJ)
count:
$nRows = $dbh->query("SELECT COUNT(*) FROM questions");
我只需要在一个查询中编写两个查询..
答案 0 :(得分:1)
您可以使用fetchColumn
。
$number_of_rows=$stmt->fetchColumn(); // will give no. of rows
$data = $stmt->fetchAll(PDO::FETCH_ASSOC)// give the data array
答案 1 :(得分:0)
如果您的查询不同(如问题中所示),请将它们保存为两个单独的查询。没有办法让它们合二为一。只需留下两个单独的查询,它就可以了。
如果您的查询实际上相同,并且您希望过滤数据并获得行数,那么您根本不需要第二个查询。在PHP中,有一个名为count()的函数。您可以使用它来计算第一个查询返回的结果。
$nRows = count($data);
就像那个一样简单
答案 2 :(得分:-1)
你能使用
吗?$stmt=$dbh->prepare("SELECT COUNT(*) from questions where (category_id = ?) AND (complexity_id = ?)");
查询?