2012-07-23 106 views
1

我有我的SQL查询问题。joomla SQL查询

我试图弹出这些查询,结果是什么。

$query =$db->getQuery(true); 
$query->select($db->quoteName('name')); 
$query->from($db->quoteName('#__restaurant')); 
$query->where($db->quote(constant("$vector[0]")) . '=' . $db->quote($v[$vector[0]])); 
$db->setQuery($query); 
$column=$db->loadObjectList(); 

.......

$query= $db->getQuery(true); 
$query->select($db->quoteName('name')); 
$query->from($db->quoteName('#__restaurant')); 
$query->where($db->quoteName('zone'). '=' . $db->quoteName('atocha')); 
$db->setQuery($query); 
$column=$db->loadObjectList(); 

的数据库是不是空的,但我为什么没有结果。 任何想法!

感谢

感谢大家对我执行此

$query= "SELECT * 
FROM ".$db->nameQuote('#__restaurantes')." 
WHERE ".$db->nameQuote('tipe')."=".$db->quote($v[$vector[0]]).";"; 
$db->setQuery($query); 
$column=$db->loadObjectList(); 

,并获得该

SELECT * FROM #__restaurantes WHERE TIPE = '';溶胶

任何想法

感谢

+0

你有没有添加'$ db =&JFactory :: getDBO();'连接数据库?你有没有使用foreach命令来显示结果? – Lodder 2012-07-23 02:29:18

+0

当你写出查询时会发生什么?你用什么来显示查询? – SomeKittens 2012-07-23 02:42:32

+0

是的,我有$ db = JFactory :: getDBO();当我写数($列);我取0, – user852610 2012-07-23 06:38:51

回答

-1

非常感谢大家!

我有正确的查询,我把这里放在一个谁有同样的问题。

$db=& JFactory::getDBO(); 

$query= "SELECT * 
FROM ".$db->nameQuote('#__restaurant')." 
WHERE ".$db->nameQuote(constant("$vector[0]"))."=".$db->quote($v[$vector[0]]).";"; 
$db->setQuery($query); 
$column=$db->loadObjectList(); 

return $column; 
+0

你真的应该使用Joomla的数据库抽象层作为@ soren-beck-jensen的建议,参见http://docs.joomla.org/Selecting_data_using_JDatabase – betweenbrain 2013-10-16 13:07:28

2

我想你会用你的quote()和quoteName()函数来做一个小小的owerboard。

试试这个:

$query= $db->getQuery(true); 
$query->select('name'); 
$query->from('#__restaurant'); 
$query->where('zone = "atocha"'); 
$db->setQuery($query); 
$column = $db->loadObjectList(); 

另外,请不要生成的SQL如果这行不通。您可以通过以下方式获取:

echo $db->getQuery();