Joomla sql查询usling不喜欢

时间:2014-11-30 20:59:55

标签: php mysql joomla

我在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而不是手动输入的数字?

提前致谢

3 个答案:

答案 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

点击此处:https://docs.joomla.org/Selecting_data_using_JDatabase