我在Joomla中遇到SQL查询问题,我的代码如下所示:
这从模块中获取参数:
$variable = $params->get( 'variable', '' );
当我回复$variable
时,我得到结果:1
有效的查询部分:
$db->setQuery("SELECT * FROM #__table AS t WHERE (t.id NOT LIKE '%1%'
AND t.published = 1
但是当我尝试使用变量时,它并不起作用。如何将变量正确地用于NOT LIKE而不是手动输入的数字?
提前致谢
答案 0 :(得分:0)
试试这个:
$db->setQuery("SELECT * FROM #__table AS t WHERE (t.id NOT LIKE '%$variable%'
AND t.published = 1 ");
答案 1 :(得分:0)
这样做
$db->setQuery("SELECT * FROM #__table AS t WHERE (t.id NOT LIKE '%{$variable}%' AND t.published = 1)");
应该有用。
授予此权限不会逃避$variable
的值,因此请确保您信任来源
答案 2 :(得分:0)
我猜你已经找到了答案,但对其他人来说:
$db->setQuery("SELECT * FROM #__table AS t WHERE (t.id NOT LIKE '. $db->quote('\'%.1.%\'')AND t.published = 1