Joshcam PHP MySQLi数据库类SELECT查询

时间:2017-05-20 18:33:53

标签: php mysql mysqli

我使用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.';
}

现在没有记录错误,但如果我尝试使用已保存的电子邮件地址,则脚本不会检查结果。我做错了什么?

2 个答案:

答案 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.';
}