Php mysqli计算结果并获取它们

Php mysqli计算结果并获取它们,php,mysqli,fetch,Php,Mysqli,Fetch,你好,我有一份准备好的声明,我需要数一数我得到的结果。为了做到这一点,我使用store\u result和num\u行 $query = 'SELECT userId, promo, email FROM users WHERE active = ?'; $rsActivation = $db->prepare($query); $rsActivation->bind_param('s', $actv); $rsActivation->execute(); $rsActivat

你好,我有一份准备好的声明,我需要数一数我得到的结果。为了做到这一点,我使用store\u result和num\u行

$query = 'SELECT userId, promo, email FROM users WHERE active = ?';
$rsActivation = $db->prepare($query);
$rsActivation->bind_param('s', $actv);
$rsActivation->execute();
$rsActivation->store_result();

$totalRows = $rsActivation->num_rows;
这段代码设法获得行数。问题是,如果我这样做,我就不能在$rsActivation上使用fetch()。如果使用fetch而不使用store\u result,则无法获取行数

我怎样才能做到这两件事

谢谢

已解决:

我的问题是,我试图以关联数组的形式获取结果。相反,我使用bind_result为变量赋值。然后,我可以使用store_result和num_rows来获取计数,然后使用fetch()和在bind_result中分配的变量

$query = 'SELECT userId, promo, email FROM users WHERE active = ?';
$rsActivation = $db->prepare($query);
$rsActivation->bind_param('s', $actv);
$rsActivation->execute();

$rsActivation->bind_result($userId, $promo, $email);

$rsActivation->store_result();
$totalRows = $rsActivation->num_rows;

while($rsActivation->fetch()){
    echo "<p>". $userId ."</p>";
    ...
}
$query='选择用户ID、促销、来自活动用户的电子邮件=?';
$rsActivation=$db->prepare($query);
$rsActivation->bind_参数('s',$actv);
$rsActivation->execute();
$rsActivation->bind_result($userId、$promo、$email);
$R激活->存储结果();
$totalRows=$rsActivation->num_行;
while($rsActivation->fetch()){
echo“”$userId。”

”; ... }
您可以尝试使用

...
$rsActivation->execute();
$results = $rsActivation->get_results();

$totalRows = $results->num_rows;
您应该能够使用以下方式获取

$results->fetch_assoc(),$results->fetch_row()等


下面是它的文档:

您本质上是在问“store_result()在哪里存储结果?”?我想这是一个更好的题目…谢谢你的建议。问题是get_结果需要mysqlnd。我不知道如何在MAMP或GoDaddy服务器中安装它:(