maxdb_prepare
maxdb::prepare
(PECL maxdb >= 1.0)
maxdb_prepare -- maxdb::prepare — Prépare une requête SQL pour exécution
Description
Style procédural
$link
, string $query
) : resourceStyle orienté objet
$query
) : maxdb_stmtmaxdb_prepare() prépare la requête SQL pointée par la chaîne de requête et retourne un gestionnaire de requête à utiliser pour les opérations futures sur la requête. La requête doit être composée d'une seule requête SQL.
Note:
Vous ne devez pas ajouter de point-virgule ou de \g à la fin de la requête.
Le paramètre query
peut inclure un ou
plusieurs marqueurs dans la requête SQL en y intégrant des
point d'interrogations (?) aux positions voulues.
Note:
Les marqueurs sont autorisés uniquement à des positions précises dans les requêtes SQL. Par exemple, ils sont autorisés dans la liste VALUE() d'une requête INSERT (pour spécifier une valeur de colonne pour une ligne), ou dans une comparaison avec une colonne dans une clause WHERE pour spécifier une valeur de comparaison.
Cependant, ils ne sont pas autorisés pour les identifiants (comme les noms de tables ou de colonnes), dans la liste SELECT qui nomme les colonnes à être retournées par les requêtes SELECT), ou pour spécifier les opérants d'un opérateur binaire comme le signe égal (=). La dernière restriction est nécessaire car il est impossible de déterminer le type du paramètre. En général, les paramètres sont légaux uniquement dans les requêtes Data Manipulation Languange (DML) et non dans les requêtes Data Defination Language (DDL).
Les marqueurs doit être liés aux variables en utilisant les fonctions maxdb_stmt_bind_param() et/ou maxdb_stmt_bind_result() avant d'exécuter la requête ou de récupérer les lignes.
Valeurs de retour
maxdb_prepare() retourne une ressource de requête ou
FALSE
si une erreur survient.
Exemples
Exemple #1 Style orienté objet
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec dela connexion : %s\n", maxdb_connect_error());
exit();
}
$city = "Rosemont";
/* Création d'une requête préparée */
if ($stmt = $maxdb->prepare("SELECT state FROM hotel.city WHERE name=?")) {
/* Lie les paramètres aux marqueurs */
$stmt->bind_param("s", $city);
/* Exécute la requête */
$stmt->execute();
/* Lie les variables de résultats */
$stmt->bind_result($district);
/* Récupération des valeurs */
$stmt->fetch();
printf("%s est dans %s\n", $city, $district);
/* Fermeture de la requête */
$stmt->close();
}
/* Fermeture de la connexion */
$maxdb->close();
?>
Exemple #2 Style procédural
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec dela connexion : %s\n", maxdb_connect_error());
exit();
}
$city = "Rosemont";
/* Création d'une requête préparée */
if ($stmt = maxdb_prepare($link, "SELECT state FROM hotel.city WHERE name=?")) {
/* Lie les paramètres aux marqueurs */
maxdb_stmt_bind_param($stmt, "s", $city);
/* Exécute la requête */
maxdb_stmt_execute($stmt);
/* Lie les variables de résultats */
maxdb_stmt_bind_result($stmt, $district);
/* Récupération des valeurs */
maxdb_stmt_fetch($stmt);
printf("%s est dans %s\n", $city, $district);
/* Fermeture de la requête */
maxdb_stmt_close($stmt);
}
/* Fermeture de la connexion */
maxdb_close($link);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Rosemont est dans IL
Voir aussi
- maxdb_stmt_execute() - Exécute une requête préparée
- maxdb_stmt_fetch() - Récupère les résultats depuis la requête préparée dans les variables liées
- maxdb_stmt_bind_param() - Lie les variables à une requête préparée en tant que paramètres
- maxdb_stmt_bind_result() - Lie les variables à une requête préparée pour stockage du résultat
- maxdb_stmt_close() - Ferme une requête préparée
Version en cache
26/11/2024 03:28:01 Cette version de la page est en cache (à la date du 26/11/2024 03:28:01) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-maxdb-prepare.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.