2012-07-23 5 views
1

J'ai un problème avec ma requête SQL.Requête SQL avec joomla

J'essaie d'éjecter ces requêtes et le résultat est nul.

$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(); 

La base de données n'est pas vide, mais je la raison pour laquelle il n'y a pas de résultats. Une idée !!!

grâce

Merci à tous j'exécute ce

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

et obtenir ce

SELECT * FROM #__restaurantes OU TIPE = ''; sol

une idée

merci

+0

Avez-vous ajouté '$ db = & JFactory :: getDBO();' pour vous connecter à la base de données? et avez-vous utilisé une commande foreach après pour afficher les résultats? – Lodder

+0

Que se passe-t-il lorsque vous écrivez la requête? Qu'est-ce que vous utilisez pour afficher la requête? – SomeKittens

+0

oui j'ai $ db = JFactory :: getDBO(); et quand j'écris count ($ column); Je prends 0, – user852610

Répondre

-1

Merci beaucoup à tous!

J'ai la bonne question, je mets ici pour quelqu'un qui a le même problème.

$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

Vous devriez vraiment utiliser la couche d'abstraction de base de données de Joomla comme suggère @ soren-beck-jensen, voir http://docs.joomla.org/Selecting_data_using_JDatabase – betweenbrain

2

Je pense que vous allez un peu owerboard avec vos fonctions quote() et quoteName().

Essayez ceci:

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

Aussi, s'il vous plaît afficher les SQL résultant si cela ne fonctionne pas. Vous pouvez l'obtenir par:

echo $db->getQuery();