我使用Joshcam MysqliDb来管理数据库。我已经成功创建了一个插入数据的查询,我可以使用我在文档中找到的这个代码段查询数据库以获取结果。
$cols = Array ("id", "name", "email");
$inviteMail = $db->get ("invitation", null, $cols);
if ($db->count > 0)
foreach ($inviteMail as $Mail) {
print_r ($Mail);
}
如何验证用户发布的值是否已存在于数据库表中?通过这个查询,我可以阅读该表的所有数据,我不想这样,我正在阅读github上的文档(这是我第一次使用这个类)但是现在我可以&#39 ;找到一个有效的解决方案,所以我尝试使用这个代码编写,但它给了我错误,我也用不同的电子邮件回应
$cols = Array ("id", "email", "token", "code");
$inviteMail = $db->get ("invitation", null, $cols);
if ($db->count > 0)
foreach ($inviteMail as $Mail) {
if($_POST[email] == $Mail){
echo 'email address already used.';
}
}
修改
我已使用建议的代码段修改了代码,但它给了我一个错误。我查看了文档,并以这种方式修改了代码..
$cols = Array ("email");
$inviteMail =
$db->where('email', $_POST['invitation_email']);
$results = $db->get("invitation", null, $cols);
if ($results == $_POST['invitation_email']) {
echo 'email address already used.';
}
现在没有记录错误,但如果我尝试使用已保存的电子邮件地址,则脚本不会检查结果。我做错了什么?
答案 0 :(得分:0)
$cols = Array ("id", "email", "token", "code");
$inviteMail = $db
->where('email', $_POST['email'])
->get("invitation", null, $cols);
if ($db->count() > 0) {
echo 'email address already used.';
}
NB 我从这个示例代码开始,但它给了我一个错误调用成员函数count()。我修改了它,现在我已经有了这段代码:
if(isset($_POST['submit'])){
$cols = Array ("username","password");
$db->where('username', $_POST['username']);
$db->where('password', $_POST['password']);
$login = $db->get('members', null, $cols);
if($login->count > 0){
echo 'success';
}
}
但我无法验证登录详细信息是否正确。我不知道出了什么问题。
答案 1 :(得分:0)
imho正确的synatax将是。
if($db->where('email', $_POST['invitation_email'])->has('invitation')) {
echo 'email address already used.';
}