Php 为什么NULL在SQL中不起作用?

Php 为什么NULL在SQL中不起作用?,php,mysql,Php,Mysql,我有一个分类表,其中有一些条目。我想显示那些没有任何mpid、spid和pid的类别名称。我不知道我做错了什么,但我的IS NULL语句在这里不起作用。我的sql: function select_all_main_category_info() { require 'db_connect_temp.php'; $sql="SELECT * FROM tbl_category WHERE mpid IS NULL AND spid IS NULL AND pid

我有一个分类表,其中有一些条目。我想显示那些没有任何mpid、spid和pid的类别名称。我不知道我做错了什么,但我的IS NULL语句在这里不起作用。我的sql:

function select_all_main_category_info() {
        require 'db_connect_temp.php'; 
        $sql="SELECT * FROM tbl_category WHERE mpid IS NULL AND spid IS NULL AND pid IS NULL AND deletion_status=1";
        if (mysqli_query($db_connect, $sql)) {
            $query_result=mysqli_query($db_connect, $sql);
            return $query_result;
        } else {
            die("Query Problem". mysqli_error($db_connect));
        }
    }
显示类别名称的我的PHP代码:

<?php 

include_once 'applications.php';

$res=select_all_main_category_info();

while($info=mysqli_fetch_assoc($res)) {
    echo $info['category_name'];
    echo '<br>';
}
类别表:
有人能帮忙吗?

我的问题解决了。我不知道是NULL和空语句。以下是解决此问题的SQL:

$sql="SELECT * FROM tbl_category WHERE mpid ='' AND spid ='' AND pid='' AND deletion_status=1";

但是我的IS NULL语句在这里不起作用-哪些语句?你有很多。模式,这个方法选择什么,所有的,主要的,分类的,以及如何调用;这里的问题太不清楚了。这是写代码的函数名。让我编辑代码部分。现在编辑。@Fred ii为空且不为空是不同的动物。还有什么错误吗?你可能会有一个变量范围问题,除非你得到了一些结果。。