Прежде чем вы скажете, что ответ был до этого, я все испробовал буквально.Подсчет строк с условиями?
Я пытаюсь подсчитать количество строк в запросе mysqli с двумя предложениями WHERE.
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>';
}
}
Моя проблема заключается в том, что при попытке входа в систему с неверным паролем и/или имя пользователя (комбинация не существует в таблице), $ счетчик еще один, и он отвечает требованиям, предъявляемым к первой, если заявление.
Я пробовал считать строки разными способами, ни одна из которых не работала.
Некоторые другие попытки были:
$counter = 0;
while ($row = mysqli_fetch_array($result)) {
++$counter;
}
и
$counter = mysqli_num_rows($result);
Я просто пытаюсь придумать способ войти своим пользователям в успешно, и сообщения об ошибках, показать недопустимые попытки входа в систему.
Спасибо, что нашли время, чтобы прочитать это и попытаться помочь. :)
Большое вам спасибо, я не могу поверить, что совершил такую глупую ошибку. Работает как шарм. :) – Tamaki
это происходит :) - не забудьте отозвать вары при поиске и устранении неисправностей. $ counter повторил бы «1», и тогда вы можете сделать что-то вроде изменения запроса или другого var, и все равно будет 1, и вы знаете, что это не запрос. он не всегда показывает, но часто помогает – James