web-dev-qa-db-fra.com

Pilotes Joomla SQL et instructions préparées

Pouvez-vous me dire si les pilotes Joomla SQL prennent en charge les instructions préparées? Autant que je sache, le pilote MySQLi ne prépare pas d'instructions SQL. Mais Joomla prend également en charge le pilote MySQL PDO. Ce pilote prépare-t-il des instructions SQL? Est-il prudent d'utiliser les wrappers Joomla SQL?

5
El cero

Joomla a ses propres classes de base de données qui sont des wrappers pour PDO et autres pilotes.

Les instructions préparées ont été ajoutées pour PDO/SQLite et Oracle quelque part au début de la série Joomla 3.x et peuvent être réalisées comme suit:

$db    = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select($db->quoteName('something'))
      ->from($db->quoteName('#__table_name'))
      ->where($db->quote('foo') . ' = ' $db->quote('bar'));

$query->bind(':s', $like);

$db->setQuery($query);

$records = $db->loadObjectList();
2
Lodder