Prépare une requête SQL pour son exécution

# cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare — Prépare une requête SQL pour son exécution

### Description

function cubrid_prepare(resource `$conn_identifier`, string `$prepare_stmt`, int `$option` = 0): resource

La fonction cubrid_prepare() compile une requête SQL pour un gestionnaire de connexion donné et retourne un gestionnaire qui représente la requête pré-compilée.

Une requête préparée peut être exécutée plusieurs fois, ce qui est efficace pour une exécution répétée ou pour traiter de gros volumes de données. Une seule requête peut être utilisée, et un paramètre peut être marqué par un point d'interrogation (`?`) à l'emplacement approprié dans la requête SQL. Un paramètre est ajouté lors de la liaison d'une valeur dans la clause `VALUES` d'une instruction `INSERT` ou dans la clause `WHERE`. Il est à noter qu'une valeur ne peut être liée à un paramètre qu'en utilisant la fonction cubrid_bind().

### Liste de paramètres

`conn_identifier`
  Identifiant de connexion.
`prepare_stmt`
  Requête préparée.
`option`
  OID retourné par l'option `CUBRID_INCLUDE_OID`.

### Valeurs de retour

Identifiant de requête en cas de succès, ou `false` si une erreur survient.

### Exemples

Exemple #1 Exemple avec cubrid_prepare()

    <?php
    $conn = cubrid_connect("localhost", 33000, "demodb");

    $sql = <<<EOD
    SELECT g.event_code, e.name
    FROM game g
    JOIN event e ON g.event_code=e.code
    WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
    EOD;

    $req = cubrid_prepare($conn, $sql);

    cubrid_bind($req, 1, 2004);
    cubrid_bind($req, 2, 2000);
    cubrid_execute($req);

    $row_num = cubrid_num_rows($req);
    printf("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n", $row_num);

    printf("%-15s %s\n", "Event_code", "Event_name");
    printf("----------------------------\n");

    $row = cubrid_fetch_assoc($req);
    printf("%-15d %s\n", $row["event_code"], $row["name"]);
    $row = cubrid_fetch_assoc($req);
    printf("%-15d %s\n", $row["event_code"], $row["name"]);

    cubrid_disconnect($conn);
    ?>

L'exemple ci-dessus va afficher :

    There are 27 event that exits in 2004 olympic but not in 2000. For example:

    Event_code      Event_name
    ----------------------------
    20063           +91kg
    20070           64kg

### Voir aussi

- cubrid_execute() - Exécute une requête SQL préparée
- cubrid_bind() - Lie des valeurs à une requête préparée

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open