Załóżmy, że zbudowałeś zapytanie za pomocą 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();
Przykład stąd: https://docs.joomla.org/Selecting_data_using_JDatabase
Czy istnieje polecenie wydrukowania instrukcji zapytania (nie wyniki, ale rzeczywisty SQL)?
joomla-3.x
database
Mat Kay
źródło
źródło
Odpowiedzi:
musisz echo __toString ()
Tutaj możesz uzyskać więcej informacji
https://docs.joomla.org/API16:JDatabaseQuery/_toString
Mam nadzieję, że to pomoże
źródło
#__
.Możesz także użyć
replacePrefix
funkcji Joomla, która zrzuca zapytanie w formacie, który można wstawić bezpośrednio do programów takich jak PhpMyAdmin.Oto przykład:
Wyprowadzi następujące:
źródło
Możesz także użyć
dump()
metody natywnej :echo $query->dump();
źródło
JDatabaseQuery
Obiekt posiada__toString()
funkcję, która wyprowadza zapytanie więc można zrobić:Lub jeśli chcesz przekazać go do funkcji, możesz najpierw jawnie rzucić ją na ciąg znaków:
źródło
Funkcja debugowania Joomla daje wiele informacji na temat zapytań, które są wykonywane podczas ładowania witryny.
źródło
da sobie radę.
wykorzystuje to ten kod
źródło