Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用条件计算行数?_Php_Login_Counting_Login Script - Fatal编程技术网

Php 用条件计算行数?

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

在你说之前,我已经试过了所有的方法

我试图用两个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_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'];