Php 用条件计算行数?
在你说之前,我已经试过了所有的方法 我试图用两个WHERE子句计算mysqli查询中的行数Php 用条件计算行数?,php,login,counting,login-script,Php,Login,Counting,Login Script,在你说之前,我已经试过了所有的方法 我试图用两个WHERE子句计算mysqli查询中的行数 if (isset($_POST['member_name']) and isset($_POST['memeber_password'])) { $member_name_input = mysqli_real_escape_string($query, $_POST['member_name']); $member_password_input = mysqli_real_escape
if (isset($_POST['member_name']) and isset($_POST['memeber_password'])) {
$member_name_input = mysqli_real_escape_string($query, $_POST['member_name']);
$member_password_input = mysqli_real_escape_string($query, $_POST['member_password']);
$result = mysqli_query($query, "SELECT count(*) AS member_count FROM `members` WHERE `member_name` = '$member_name_input' AND `member_password` = '$member_password_input'") or die(mysqli_error($query));
$counter = $row['member_count'];
if ($counter = 1) {
$result = mysqli_query($query, "SELECT * FROM `members` WHERE `member_name`='$member_name_input' AND `member_password`='$member_password_input'") or die(mysqli_error($query));
$row = mysqli_fetch_array($result);
$member_suspended = $row['member_suspended'];
$member_validation = $row['member_validation'];
}
if ($member_suspended < time() and $member_validation = 2) {
$_SESSION['member_id'] = $row['member_id'];
echo $counter;
} elseif ($member_suspended >= time()) {
$suspension_date = date('d. m. y.', $member_suspended);
echo '<div class="left_container"><h3>You are suspended until '.$suspension_date.'.</h3></div>';
} elseif ($member_validation = 1) {
echo '<div class="left_container"><h3>Your account has not been confirmed, yet.</h3></div>';
} else {
echo '<div class="left_container"><h3>Login unsuccessful.</h3></div>';
}
}
及
我只是想找到一种方法,让我的用户成功登录,并向无效的登录尝试显示错误消息
感谢您花时间通读本文并尽力提供帮助。:)
这将始终=1,假设你的意思是
if ($counter == 1) {
您需要先从结果中提取行,然后才能设置计数器 改变
$result = mysqli_query($query, "SELECT count(*) AS member_count FROM `members` WHERE `member_name` = '$member_name_input' AND `member_password` = '$member_password_input'") or die(mysqli_error($query));
$counter = $row['member_count'];
到
以下查询非常适合我:从
members
中选择count(*)作为member\u count,其中member\u name
='$member\u name\u input'和member\u password
='$member\u password\u input'
如果没有找到匹配的记录,则重新返回0,否则将返回匹配的记录数。非常感谢,我不敢相信我犯了这么愚蠢的错误。工作起来很有魅力。:)这种情况时有发生:)-请记住在排除故障时回显VAR$计数器会回显“1”,然后您可以更改查询或其他变量,它仍然是1,并且您知道它不是查询。它并不总是透露,但往往有帮助
if ($counter = 1) {
if ($counter == 1) {
$result = mysqli_query($query, "SELECT count(*) AS member_count FROM `members` WHERE `member_name` = '$member_name_input' AND `member_password` = '$member_password_input'") or die(mysqli_error($query));
$counter = $row['member_count'];
$result = mysqli_query($query, "SELECT count(*) AS member_count FROM `members` WHERE `member_name` = '$member_name_input' AND `member_password` = '$member_password_input'") or die(mysqli_error($query));
$row = mysqli_fetch_assoc($result);
$counter = $row['member_count'];