【发布时间】:2020-08-18 19:20:44
【问题描述】:
我想从我的 MySQL 表中获取页面列表。但是,如果 $user_id 值为 NULL 并且如果定义了 $user_id 值,我想获取所有用户添加的页面列表,我需要获取该特定用户添加的页面列表。我觉得可能有一个简单的解决方案,但我长期以来一直试图为这种情况找到解决方案,但我用诸如“WHERE user_id is NOT NULL OR user_id = $user_id”之类的方法失败了。我需要如何修改下面的代码才能获得预期的结果?
public function getPagesList($user_id = NULL){
$this->db->query ('
SELECT `page_id`, `page_name`
FROM `pages`
WHERE `user_id` = :user_id
');
$this->db->bind(':user_id', $user_id);
return $this->db->resultSet();
}
【问题讨论】:
-
为什么不检查 $user_id 是否为空并在执行 MySQL 查询之前更改查询?根据您的数据库的大小,我建议您检查您在 where 子句中使用的字段是否有足够的索引,以确保它是快速的。只需确保您的 MySQL 列中没有 >40% 的索引。您可能还想限制 MySQL 查询和分页。
标签: php mysql sql where-clause