为了账号安全,请及时绑定邮箱和手机立即绑定

无法在php中正确使用sql查询的结果

无法在php中正确使用sql查询的结果

PHP
慕神8447489 2023-07-30 12:56:17
我想做的是获取满足特定要求的行数,并且根据满足的数量,脚本将执行不同的操作。我的代码:        $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 .";

}


查看完整回答
反对 回复 2023-07-30
  • 1 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信