我想做的是获取满足特定要求的行数,并且根据满足的数量,脚本将执行不同的操作。我的代码: $sql2 = "SELECT COUNT(email)FROM subscribers WHERE id= ?"; $stmt2 = $conn->prepare($sql2); $stmt2->bind_param("s", $id); $stmt2->execute(); $callbacks = $stmt2->get_result(); while($rows = $callbacks->fetch_assoc()){ $results = $rows; } $stmt2->close(); if ($results <2001){ $email = trim($_POST["email"]); }else{ $email_err = "This user has reached the limmit to what their plan can allow ."; }我遇到的问题是我不确定如何实际使用行数。在此配置中,它不关心结果的数量是多少,它只是发布它们。如果我执行类似的操作id_err = $results; 来查看查询结果是什么,它会给我一个数组到字符串转换错误。听起来这种操作需要硬件密集型操作,如果您认为应该直接查询行并使用 PHP 对其进行计数,请告诉我如何操作。我还尝试使用$results = $rows['count']不同的名称(例如“总计”和“结果”)进行一些变体,但他们仍然发布。当我尝试查看查询结果时,id_err = $results;它会忽略它并无论如何发布。为了避免对 $id_err 是什么产生任何混淆,如果脚本被使用,它会阻止脚本发布。并澄清此 SQL 查询位于条件语句内。先感谢您。
1 回答
浮云间
TA贡献1829条经验 获得超4个赞
该count函数将所有记录作为一行与计数一起返回。因此,删除while并比较适当的索引。
$sql2 = "SELECT COUNT(email) as the_count FROM subscribers WHERE id= ?";
$stmt2 = $conn->prepare($sql2);
$stmt2->bind_param("s", $id);
$stmt2->execute();
$callbacks = $stmt2->get_result();
$rows = $callbacks->fetch_assoc();
$stmt2->close();
if ($rows['the_count'] < 2001){
$email = trim($_POST["email"]);
}else{
$email_err = "This user has reached the limmit to what their plan can allow .";
}
- 1 回答
- 0 关注
- 86 浏览
添加回答
举报
0/150
提交
取消