我正在尝试设置if/else大小写,以查看某个值是否在一个表中,然后显示所述值,如果该值不在一个表中,则检查另一个表。
我正在Cloud9中使用php和mysql。电子邮件是从未显示的表单获取的。
使用正确的电子邮件搜索“customer”表会显示密码\enc,但是如果在customer表中找不到该电子邮件,并且它会搜索“company”表,则不会显示任何内容。我查了phpmyadmin,邮件是存在的,有效的
我也检查了我的表格,“email”和“rep\u email”是有效的。
有没有更简单的方法来实现这一点,或者我当前的代码需要调整?谢谢你的帮助。
$email = !empty($_POST ['email']) ? $_POST['email'] : "";
$email2 = $email;
$query = "SELECT * FROM Customer WHERE email = '$email'";
$result = $db->query($query);
if ($result){
$row = $result->fetch_assoc(); /* These lines query the dataabse when user enters email */
$password_enc = $row['password_enc'];
}
elseif(!$result){
$query2 = "SELECT * FROM Company WHERE rep_email = '$email2'";
$result2 = $db->query($query2);
$row2 = $result2->fetch_assoc(); /* These lines query the dataabse when user enters email */
$password_enc = $row2['password_enc'];
}
echo "password_enc: ".$password_enc;
3条答案
按热度按时间fykwrbwg1#
u7up0aaq2#
如果选择、显示、描述或解释查询成功,mysqli\u query()将返回mysqli\u result对象
php mysqli手册
因此,不必检查响应,实际上可以检查返回的行数,如下所示
g6ll5ycj3#
你应该使用
num_rows
从结果集中检索行数。