SunshinePHP Developer Conference 2015

maxdb_stmt_prepare

maxdb_stmt::prepare

(PECL maxdb >= 1.0)

maxdb_stmt_prepare -- maxdb_stmt::preparePrépare une requête SQL pour exécution

Description

Style procédural

bool maxdb_stmt_prepare ( resource $stmt , string $query )

Style orienté objet

mixed maxdb_stmt::prepare ( string $query )

maxdb_stmt_prepare() prépare une requête SQL pointée par une chaîne. La ressource de requête doit avoir été allouée par la fonction maxdb_stmt_init(). La requête doit être constituée d'une simple requête SQL.

Note:

Vous ne devez pas ajouter de point-virgule final ou \g à la requête.

Le paramètre query peut inclure un ou plusieurs marqueurs de paramètres dans la requête SQL en y intégrant des points d'exclamations (?) à une position appropriée.

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

Cette fonction retourne TRUE en cas de succès 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 de la connexion : %s\n"maxdb_connect_error());
    exit();
}

$city "Portland";

/* Création d'une requête préparée */
$stmt =  $maxdb->stmt_init();
if (
$stmt->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ère la valeur */
    
$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 de la connexion : %s\n"maxdb_connect_error());
    exit();
}

$city "Portland";

/* Création d'une requête préparée */
$stmt maxdb_stmt_init($link);
if (
maxdb_stmt_prepare($stmt"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ère la valeur */
    
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 à :

Portland est dans OR

Voir aussi

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top