gpt4 book ai didi

php - Joomla PHP MySQL 查询使用 MySQL IF 函数

转载 作者:行者123 更新时间:2023-11-29 20:54:12 25 4
gpt4 key购买 nike

所以我有一个 Joomla 网站,在 joomla 文档中我找不到与查询中的 MySQL IF、ELSE 函数有关的任何内容。

我需要 MySQL 中的 if 语句的查询部分在这里。

$query->where($db->quoteName('container').' != 1');

它应该做这样的事情:

$query->where('IF '.$db->quoteName('server_number').' != '.$number.' THEN '$query->where($db->quoteName('container').' != 1');' END');

如果 $number 输入与 server_number 列数据不匹配,则向 mysql 查询添加 where 语句。

完整 MySQL 查询:

SELECT a.*,ext.media_type
FROM database_hwdms_processes AS a
LEFT JOIN database_hwdms_media AS media ON media.id = a.media_id
LEFT JOIN database_hwdms_ext AS ext ON ext.id = media.ext_id
WHERE (a.status = 1 || a.status = 3) AND a.attempts < 5 AND `container` != 1 AND
server = 1
ORDER BY a.media_id ASC

想要添加“IF server_number != 1 THEN WHERE container != 1 END”意味着替换“AND container != 1”

最佳答案

我找到了一个更好的方法来使用 MySQL 解决我的问题

OR ||

功能

所以我的固定代码变成了这样:

PHP:

$query->where('('.$db->quoteName('server_number').' = '.$number.' || '.$db->quoteName('container').' != 1 )');

纯 MySQL 文本:

SELECT a.*,ext.media_type
FROM database_hwdms_processes AS a
LEFT JOIN database_hwdms_media AS media ON media.id = a.media_id
LEFT JOIN database_hwdms_ext AS ext ON ext.id = media.ext_id
WHERE (a.status = 1 || a.status = 3) AND a.attempts < 5 AND ( `server_number` = 1 || `container` != 1 )AND
server = 1
ORDER BY a.media_id ASC

关于php - Joomla PHP MySQL 查询使用 MySQL IF 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37763662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com