13.Zend Framework 2 et 3

13.7.Les bases de données

13.7.4.Exécuter la requête SQL

13.7.4.1.Avec query()

Pour exécuter une requête créée[comment?] via les méthodes insert(), update(), delete() et select() de la classe Sql, il est possible d'en revenir à la méthode présentée initialement en convertissant la classe Zend\Db\Sql\Sql en chaîne de caractères représentant une instruction SQL pour cela nous pouvons faire appel à la méthode buildSqlString().
<?php
$requete = $sql->insert($nomTable)
               ->values($valeurs);
// La requête (objet Sql) sera convertie en chaîne de caractères
$sqlStr = $sql->buildSqlString($requete);
$db->query($sqlStr, Adapter::QUERY_MODE_EXECUTE);
?>
rem
  • La méthode getSqlStringForSqlObject() a été remplacée par buildSqlString() à partir de la version 2.4

13.7.4.2.Avec execute() via une requête préparée

Il est également possible de convertir l'objet Sql en requête préparée via la méthode prepareStatementForSqlObject(). Cette dernière retourne alors un objet proposant la méthode execute().
<?php
$requete = $sql->insert($nomTable)
               ->values($valeurs);
// La requête (objet Sql) sera convertie en "requête préparée"
$stmt = $sql->prepareStatementForSqlObject($requete);
$stmt->execute();
?>