如何解决使用准备好的语句进行搜索日期输入时出现致命错误
我编写此代码是为了在我搜索他们的电子邮件时显示我的用户的详细信息。
文件.php
$sql = "SELECT * FROM users WHERE email='$email'";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s",$email);
$stmt->execute();
$result2 = $stmt->get_result();
文件.html
while ($row = $result2->fetch_assoc()) { //results }
这段代码的问题是我总是遇到致命错误。
致命错误:未捕获的错误:调用成员函数 fetch_assoc() on null in ____ 堆栈跟踪:#0 {main} throw in ______
即使我的脚本运行良好,因为当我搜索我的用户详细信息时,它会按预期显示它们。
这个错误是什么意思?如果我保持这种状态,我可以得到 SQL Injected 吗?如何消除此错误?
解决方法
1.) 修复绑定您的电子邮件参数....
$sql = "SELECT * FROM users WHERE email='?'";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s",$email);
$stmt->execute();
$result2 = $stmt->get_result();
2.) 对于你得到的错误,我假设你得到了一些错误,你应该检查 $result2,如果它是错误的 > 那意味着错误
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。