DB_common::autoPrepare()

DB_common::autoPrepare() --  Prépare une requête INSERT ou UPDATE basée sur les variables fournies

Synopsis

resource autoPrepare (string $table, array $table_fields, integer $mode = DB_AUTOQUERY_INSERT [, string $where = FALSE])

Description

autoPrepare() construit automatiquement une requête INSERT ou UPDATE pour être utilisée par execute() ou executeMultiple().

Paramètres

chaîne de caractères $table

nom de la table

array $table_fields

tableau indéxé contenant les noms de champs

Faites attention à ce que les champs soient assignés à des emplacements ?, sinon, les données que vous passerez dans la fonction execute() seront automatiquement échappées et quotées en accord avec les impératifs du DBMS courant.

entier $mode

type de requête à exécuter (DB_AUTOQUERY_INSERT ou DB_AUTOQUERY_UPDATE)

chaîne de caractères $where

une chaîne de caractères qui doit être utilisée dans la clause WHERE. Ceci est utilisé uniquement lorsque $mode vaut DB_AUTOQUERY_UPDATE. La chaîne est introduite directement dans la requête, donc, vous devez litéralement l'échapper et la quoter en accord avec les impératifs du DBMS courant.

Valeur retournée

resource - ressource utilisée pour la requête ou un objet DB_Error en cas d'échec.

Valeurs renvoyées

Tableau 34-1. Valeurs PEAR_Error possibles

Code erreurMessage erreurRaisonSolution
DB_ERROR_NEED_MORE_DATA insufficient data supplied Le tableau qui doit contenir les noms de champs est vide. Vérifiez et corrigez votre tableau de noms de champs.
DB_ERROR_SYNTAX syntax error Vous utilisez un mode inconnu. Les modes disponibles sont uniquement DB_AUTOQUERY_INSERT pour les requêtes INSERT ou DB_AUTOQUERY_UPDATE pour les requêtes UPDATE.
DB_ERROR_NODBSELECTED no database selected Aucune base de données n'a été sélectionnée. Vérifiez le DSN dans connect().
tout autre code erreur  Erreur spécifique à la base de données. Vérifiez la section spécifique à la base de données dans le manuel PHP pour trouver la raison de cette erreur.

Note

Cette fonction ne peut pas être appelée de façon statique.

Exemple

Voir aussi

<< Intro - Prepare & Execute >>, << Intro - autoPrepare & autoExecute >>, prepare(), execute(), executeMultiple() et autoExecute().