php - 为什么 not null 语句在我的 sql 查询中不起作用?

标签 php mysql

我正在尝试从列 approved_date 不为空的数据库表中检索数据。对于数据库访问,我使用的是 MySQL 面向对象的准备语句。我已经编写的查询给出了空结果,而当我在 PhpMyAdmin 中尝试时,相同的查询得到了正确的结果。

我尝试在 PhpMyAdmin 中运行我为准备好的语句编写的相同查询作为原始查询。它在那里工作得很好,但涉及到代码,它不工作。

下面是我用于准备语句的代码。

public function get_approved_problems()
{
    $data = array();
    $db = DB::open();
    $day = date('d');
    $month = date('m');
    $sql = "SELECT id, user, title, description, address, publish, created_at 
            FROM problems 
            WHERE approved_date IS NOT NULL AND publish=1 
            ORDER BY id DESC";
    $query = $db->stmt_init();
    if($query = $db->prepare($sql))
    {
        // $query->bind_param('ii', $month, $day);
        $query->execute();
        $query->store_result();
        $query->bind_result($id, $user, $title, $description, $address, $publish, $created);
        $numrows = $query->num_rows;
        if($numrows > 0)
        {
            while($query->fetch())
            {
                $data[] = array(
                    "id" => $id,
                    "user" => $user,
                    "title" => $title,
                    "description" => $description,
                    "address" => $address,
                    "publish" => $publish,
                    "created_at" => $created
                );
            }
        }
        $query->close();
    }
    return $data;
}

以上代码返回空结果。虽然下面的 RAW 查询在 PhpMyAdmin 上运行良好。

SELECT id, user, title, description, address, publish, created_at FROM problems WHERE approved_date IS NOT NULL AND publish=1 ORDER BY id DESC

代码没有显示任何错误消息,即使它没有像我预期的那样工作。

最佳答案

试试这个:

SELECT id, user, title, description, address, publish, created_at 
            FROM problems 
            WHERE publish=1 AND approved_date IS NOT NULL 
            ORDER BY id DESC

关于php - 为什么 not null 语句在我的 sql 查询中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58619194/

相关文章:

php - 使用数据库中的值和列名动态创建输入字段

mysql - 如何检测每小时在 MySQL 上运行的是什么?

mysql - 如何计算Rails应用程序上每个用户的存储空间?

php - 更改 Laravel Jetstream 应用程序中的 Logo

php - Magento 我可以禁用 cookie 吗?

php - 如果一个人不想要所有字段而只想要某些字段,有没有办法让他们选择字段

mysql - 尝试通过 ssh 使用 phpmyadmin 连接到远程主机 mysql

mysql - 使用第二个 INNER JOIN 或在第二个 INNER JOIN 之前对两个表进行 INNER JOIN 的 SQL

php - phpThumb 仍然是一个好的解决方案吗?

php - MySQL/PHP : Select file extension types simple query?