MySql按user_id获取页面列表,或者如果未定义user_id,则获取所有页面

作为初学者:

我想从我的MySQL表中获取页面列表。但是,如果$ user_id值为NULL,并且如果定义了$ user_id值,我想获取所有用户添加的页面列表,我需要获取该特定用户添加的页面列表。我觉得可能有一个简单的解决方案,但是很长时间以来我一直试图找到一种解决方案,但是我失败了,例如“ WHERE user_id不为null或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值为NULL,并且如果定义了$ user_id值,我想获取所有用户添加的页面列表,我需要获取该特定用户添加的页面列表。

这将转换为:

WHERE :user_id is NULL OR user_id = :user_id

当参数为时null,将返回所有行;否则为false。设置参数后,将用于过滤column user_id

您可以使用来稍微缩短表达式coalesce(),但效率可能较低:

WHERE COALESCE(:user_id, user_id) = user_id

请注意,正如Liam Sorsby所评论的那样,最有效的选项可能是检查是否从应用程序中设置了参数,并相应地修改了查询字符串。如果未设置参数,则查询中没有WHERE子句;如果已设置,则WHERE user_id = :user_id

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Codeigniter 4未定义的索引:user_id

PHP-检查数组中是否存在JSON值,如果存在,则获取关联的user_id

未定义的索引:user_id。其中,user_id是会话变量

如何在laravel护照api中获取带有访问令牌的user_id?

telethon通过user_id获取access_hass

Firebase函数:无法读取未定义的属性“ user_id”

无法读取未定义的属性“ user_id”

如何使用php从mysql获取当前的user_id?

未定义的属性:Illuminate \ Database \ Eloquent \ Relations \ HasOne :: $ user_id

Django:尝试查询用户帐户页面时未定义NameError User_id

无法获取user_id值Laravel查询

通过user_id获取Google Plus封面URL

获取用户或user_id Soundcloud API

MySQL-根据具有相同user_id的其他行的列值,按user_id选择行

未知属性“ user_id”

#<注释的未定义方法'user_id ='

如何从当前登录的用户那里获取user_id?

按总积分按每个user_id降序排列

通过USER_ID获取节点(查询)

对于特定的user_id,在MySQL中获取该用户与所有其他用户所在的最新行(按时间)

检查电子邮件是否已存在错误未定义索引:user_id

如何使用mvc将基于user_ID的user_name从登录页面传递到主页

如何在没有 user_id 键的情况下自行获取对象数据?

从 Facebook url 获取任何 user_id

Firebase 函数:类型错误:无法读取未定义的属性“user_id”

如何获取当前登录用户的user_id

如何在 Oracle Apex 中获取当前 user_id

如何使用与 JavaScript 匹配的 user_id 从 Firebase 获取数据

未定义的属性:App\Events\UserWalletNewTransaction::$user_id