Php num rows if语句不从数据库输出数据

Php num rows if语句不从数据库输出数据,php,if-statement,mysqli,Php,If Statement,Mysqli,我有一个名为payment\u status的数据库,包含以下列: -身份证 -用户id -名字 -付款单位名称 -付款id -付款金额 我正在尝试将其结构化,以便如果payment\u id为=1,那么该表将在该表列中显示具有该id的所有用户 如果用户的payment\u id为2或3,但2为“部分支付”,3为“支付”,则同样适用 我的数据库中有payment\u id为1的用户,但没有显示任何用户。我只收到else语句 有人能看到我做了什么错事而没有让任何用户显示吗 <?php //P

我有一个名为payment\u status的数据库,包含以下列:

-身份证

-用户id

-名字

-付款单位名称

-付款id

-付款金额

我正在尝试将其结构化,以便如果
payment\u id
为=1,那么该表将在该表列中显示具有该id的所有用户

如果用户的
payment\u id
为2或3,但2为“部分支付”,3为“支付”,则同样适用

我的数据库中有
payment\u id
为1的用户,但没有显示任何用户。我只收到else语句

有人能看到我做了什么错事而没有让任何用户显示吗

<?php
//Payment Section
    
    $con = mysqli_connect("localhost", "root", "", "db");
    $run = mysqli_query($con,"SELECT * FROM payment_status ORDER BY id DESC");
    $numrows = mysqli_num_rows($run);
    $payment_id = $row['payment_id'];
        
        if($payment_id == 3 AND $numrows > 0) {
                while($row = mysqli_fetch_assoc($run)){
                    $paid_id = $row['user_id'];
                    $paid_name = $row['firstname'];
                }
            } else {
            echo "No Payments made";
        }
        if($payment_id == 2 AND $numrows > 0) {
                    while($row = mysqli_fetch_assoc($run)){
                        $partially_paid_id = $row['user_id'];
                        $partially_paid_name = $row['firstname'];
                        $partially_paid_amount = $row['payment_amount'];
                    }
                } else {
            echo "No Partial Payments made";
        }
        if($payment_id == 1 AND $numrows > 0) {
                    while($row = mysqli_fetch_assoc($run)){
                        $owes_id = $row['user_id'];
                        $owes_name = $row['firstname'];
                    }
            } else {
            echo "No one owes";
        }       
?>

桌子


支付
部分支付
欠

您需要执行以下操作:-

<?php
//Payment Section

    $con = mysqli_connect("localhost", "root", "", "db");
    $run = mysqli_query($con,"SELECT * FROM payment_status ORDER BY id DESC");
    $numrows = mysqli_num_rows($run);
        if( $numrows > 0) {
            while($row = mysqli_fetch_assoc($run)){
                $payment_id = $row['payment_id'];
                    if($payment_id == 3){
                        $paid_id = $row['user_id'];
                        $paid_name = $row['firstname'];
                    }else {
                        echo "No Payments made";
                    }
                    if($payment_id == 2){
                        $partially_paid_id = $row['user_id'];
                        $partially_paid_name = $row['firstname'];
                        $partially_paid_amount = $row['payment_amount'];
                    }else {
                         echo "No Partial Payments made";
                    }
                    if($payment_id == 1){
                         $owes_id = $row['user_id'];
                        $owes_name = $row['firstname'];
                    }else {
                         echo "No one owes";
                    }
            }
        }
?>


这是因为
$payment\u id=$row['payment\u id'
您永远不会获得
$payment\u id
的值。我的db中有payment\u id列中的值。您正在使用
$row
并检查从何处获得该
$row
。你会明白我的意思的我明白你现在在说什么。我感谢你的帮助!
<?php
//Payment Section

    $con = mysqli_connect("localhost", "root", "", "db");
    $run = mysqli_query($con,"SELECT * FROM payment_status ORDER BY id DESC");
    $numrows = mysqli_num_rows($run);
        if( $numrows > 0) {
            while($row = mysqli_fetch_assoc($run)){
                $payment_id = $row['payment_id'];
                    if($payment_id == 3){
                        $paid_id = $row['user_id'];
                        $paid_name = $row['firstname'];
                    }else {
                        echo "No Payments made";
                    }
                    if($payment_id == 2){
                        $partially_paid_id = $row['user_id'];
                        $partially_paid_name = $row['firstname'];
                        $partially_paid_amount = $row['payment_amount'];
                    }else {
                         echo "No Partial Payments made";
                    }
                    if($payment_id == 1){
                         $owes_id = $row['user_id'];
                        $owes_name = $row['firstname'];
                    }else {
                         echo "No one owes";
                    }
            }
        }
?>