我有一个查询,但似乎无法让它工作。
这是我在mysql表字符串中特意寻找的内容
link = index.php?option = com_content& view = article& layout = custom:article& id = 13
我需要做一个匹配view = article的MYSQL查询,这样我就可以排除那些有这个的行。
SELECT * FROM menus WHERE published=1 AND link LIKE '\view=\article\%'
提前告诉你
更新的代码:
<field
class="menuselections"
name="bannerpage"
type="sql"
default=""
label="Show On Menus"
query="SELECT * FROM #__menu WHERE published=1 AND link LIKE '%\view=\article\%' AND title NOT IN('Menu_item_Root','com_joomlaupdate')"
key_field="id"
value_field="title"
multiple="true" />
答案 0 :(得分:4)
我没有足够的声望点来评论杰西卡的答案,这基本上是正确的。我建议的唯一变化是从like子句中删除反斜杠(并保留前导通配符'%'字符):
SELECT * FROM menus WHERE published=1 AND link LIKE '%view=article%';
反斜杠用于转义字符串中的字符,这不是您在这种情况下尝试执行的操作。
答案 1 :(得分:2)
在给定示例的情况下,您需要在字符串的两端使用通配符。
SELECT * FROM menus WHERE published=1 AND link LIKE '%view=article%'
但是,既然你说要删除它们,请改用NOT LIKE。