mysql_stmt_param_metadata()
<<<
mysql_stmt_prepare() mysql_stmt_send_long_data()
>>>

21.2.7 Descriptions des fonctions C pour les requêtes préparées
21.2 API MySQL C
21 API MySQL
 Manuel de Référence MySQL 4.1 : Version Française

mysql_stmt_init()
mysql_stmt_bind_param()
mysql_stmt_bind_result()
mysql_stmt_execute()
mysql_stmt_fetch()
mysql_stmt_fetch_column()
mysql_stmt_result_metadata()
mysql_stmt_param_count()
mysql_stmt_param_metadata()
->mysql_stmt_prepare()
mysql_stmt_send_long_data()
mysql_stmt_affected_rows()
mysql_stmt_insert_id()
mysql_stmt_close()
mysql_stmt_data_seek()
mysql_stmt_errno()
mysql_stmt_error()
mysql_stmt_free_result()
mysql_stmt_num_rows()
mysql_stmt_reset()
mysql_stmt_row_seek()
mysql_stmt_row_tell()
mysql_stmt_sqlstate()
mysql_stmt_store_result()
mysql_stmt_attr_set()
mysql_stmt_attr_get()

21.2.7.10 mysql_stmt_prepare()

int mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, unsigned long length)

Description Prépare la requête représentée par la chaîne terminée par NUL query , et retourne un pointeur de commande à utiliser ultérieurement pour les autres opérations. La requête doit contenir une commande SQL unique. Vous ne devez pas ajouter le point-virgule ( ';' ) ni \g de fin de requête.

L'application peut inclure une ou plusieurs variable de requête SQL, grâce au caractère point d'interrogation ( '?' ), placé dans la commande SQL, aux bons endroits.

Les variables de requêtes ne sont valides qu'à certaines places dans les commandes SQL. Par exemple, elles sont autorisées dans les listes VALUES() d'une commande INSERT (pour spécifier les valeurs des lignes), ou dans les clauses de comparaisons WHERE , pour spécifier une valeur de comparaison. Sinon, elles ne sont pas autorisées pour les identifiants (comme les noms de tables ou de colonnes), dans les listes de colonnes sélectionnées par la commande SELECT , ou pour spécifier un opérateur tel que = . Cette dernière restriction est due au fait qu'il serait impossible de déterminer le type de paramètre. En général, les variables ne sont autorisées que dans les commandes de manipulations de données ( Data Manipulation Language (DML) ), et non pas dans les commandes de définition des données ( Data Defination Language (DDL) .

Les variables de requêtes doivent être liés par l'application à des variables, avec la fonction mysql_stmt_bind_param() avant exécution.

Valeur retournées Erreurs
    CR_COMMANDS_OUT_OF_SYNC
    Commands were executed in an improper order : les commandes ont été exécutées dans un ordre invalide.
    CR_OUT_OF_MEMORY
    Out of memory : plus de mémoire.
    CR_SERVER_GONE_ERROR
    The MySQL server has gone away : le serveur s'est éteint durant l'exécution de la requête.
    CR_SERVER_LOST
    The connection to the server was lost during the query : la connexion au serveur a été perdue.
    CR_UNKNOWN_ERROR
    An unknown error occurred : erreur inconnue.
Si la préparation échoue, c'est à dire si mysql_stmt_prepare() retourne NULL ), un message d'erreur peut être obtenu en appelant mysql_error() . Exemple Pour une utilisation de mysql_stmt_prepare() , voyez l'exemple dans mysql_stmt_execute() .

<< mysql_stmt_prepare() >>
mysql_stmt_param_metadata() Descriptions des fonctions C pour les requêtes préparées mysql_stmt_send_long_data()