Supposons que vous ayez construit une requête avec Joomla.
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select all records from the user profile table where key begins with "custom.".
// Order it by the ordering field.
$query->select($db->quoteName(array('user_id', 'profile_key', 'profile_value', 'ordering')));
$query->from($db->quoteName('#__user_profiles'));
$query->where($db->quoteName('profile_key') . ' LIKE '. $db->quote('\'custom.%\''));
$query->order('ordering ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
// Load the results as a list of stdClass objects (see later for more options on retrieving data).
$results = $db->loadObjectList();
Exemple d'ici: https://docs.joomla.org/Selecting_data_using_JDatabase
Existe-t-il une commande pour imprimer l'instruction de requête (pas les résultats mais le SQL réel)?
joomla-3.x
database
Mat Kay
la source
la source
Réponses:
vous devez faire écho à __toString ()
vous pouvez doigter plus d'informations ici
https://docs.joomla.org/API16:JDatabaseQuery/_toString
J'espère que cela aide
la source
#__
.Vous pouvez également utiliser la
replacePrefix
fonction de Joomla qui vide la requête dans un format qui peut être inséré directement dans PhpMyAdmin.Voici un exemple:
Sortira les éléments suivants:
la source
Vous pouvez également utiliser la
dump()
méthode native :echo $query->dump();
la source
L'
JDatabaseQuery
objet a une__toString()
fonction qui génère la requête afin que vous puissiez faire:Ou si vous voulez le passer à une fonction, vous pouvez d'abord le convertir explicitement en une chaîne:
la source
La fonction de débogage de Joomla vous donnera beaucoup d'informations sur les requêtes qui sont exécutées lors du chargement de votre site Web.
la source
fera bien.
cela utilise ce code
la source