我的变量iz为零,但IF无法识别它?

时间:2017-09-01 23:21:03

标签: php mysql

$check1 = mysqli_query($conn, "select * from Sailors where Name='$habboname'");
$check2 = mysqli_query($conn, "select * from Sailors where Position='$position'");
$num_rows = mysqli_num_rows($check1);
$num_rows2 = mysqli_num_rows($check2);
if ($num_rows > 0)  {
    echo "This user (<b>" . $habboname . "</b>) is already in our database.";
    exit();
} else {
    if ($num_row2 = 0){
    $sql =  "INSERT INTO Sailors (ID, Name, Joined, Rank, Billet, Position, Status, Promoter, Reason, Promo_Date)
    VALUES ('', '$habboname', '$date', '$rank', '$billet', '$position', 'Active', '$promoter', '$reason', '$date')";

    if ($conn->query($sql) === TRUE) {
        header("Location: useradded.php");
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
} else {
        echo $num_row2;
    }

即使变量为IS,也会始终回显。我真的很困惑。 如果您知道问题所在,请告诉我。 谢谢:))

4 个答案:

答案 0 :(得分:3)

您正在检查作业:

if ($num_row2 = 0){

虽然你应该实际检查是否平等:

if ($num_row2 == 0){

答案 1 :(得分:2)

if ($num_row2 = 0){

比较 实际上 分配

所以将其转换为: -

if ($num_row2 == 0){ //comparison

或者

if ($num_row2 === 0){ //comparison

答案 2 :(得分:2)

 if ($num_row2 = 0){

尝试设置$ num_row2 = 0.总是可以。 你可以用这种方式:

 if ($num_row2 == 0){

或专家方式:

 if (!$num_row2){

最好的问候。

答案 3 :(得分:1)

当您真正打算进行比较时,可以避免在PHP中进行分配错误的一种方法是按照以下方式训练自己编写代码:

if (0 == $num_row2)

一开始可能会觉得有点尴尬,但是当人们打算基于相等性进行比较时,它确实可以帮助避免赋值算子,当然相同的技术对于基于身份的比较是有益的。