DB_common::executeMultiple()

DB_common::executeMultiple() – Exécute une requête préparée SQL pour chaque élément d'un tableau

Synopsis

integer executeMultiple ( resource $stmt , array $data )

Description

Passe automatiquement les informations contenues dans $data (un tableau multi-dimentionnel) à execute(), qui exécute la requête soumise à prepare().

Parameter

resource $stmt

identifiant de ressource de requête retourné par prepare()

array $data

un tableau numérique contenant les données à insérer dans la requête

Return value

mixed - DB_OK en cas de succès ou un objet DB_Error en cas d'erreur.

Throws

Possible PEAR_Error values
Code erreur Message erreur Raison Solution
DB_ERROR_INVALID invalid la ressource de la requête SQL n'est pas valide. Vérifiez que la requête fonctionne bien avec prepare(). Notez que executeMultiple() requière une ressource de requête retournée par prepare(), et non pas la requête elle-même.
DB_ERROR_MISMATCH mismatch Pas assez de données pour préparer la requête SQL. Vérifiez que le nombre de marqueurs dans la requête prepare() passée à $query est égal au nombre d'entrées passées par $params .
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. Dans la plupart des cas, il s'agit d'une requête mal formée, comme l'utilisation de LIMIT dans une requête envoyée à une base de données Oracle.

Note

This function can not be called statically.

Si une erreur se produit durant l'exécution, la fonction s'arrêtera. Il se peut qu'il reste alors des données non traitées.

La valeur passée au paramètre $data doit être litéral. Ne soumettez pas des fonctions SQL (par exemple, CURDATE()). Les fonctions SQL qui devant être exécutées au moment de l'exécution doivent être mises dans une requête préparée.

Example

Exemple avec executeMultiple()

<?php
// On suppose que $db est un objet DB valide...
$sth $db->prepare('INSERT INTO numbers VALUES (?, ?, ?)');

if (
PEAR::isError($sth)) {
    die(
$sth->getMessage());
}

$alldata = array(array(1'one''en'),
                 array(
2'two''to'),
                 array(
3'three''tre'),
                 array(
4'four''fire'));

$res =& $db->executeMultiple($sth$alldata);

if (
PEAR::isError($res)) {
    die(
$res->getMessage());
}
?>
Exécute une requête SQL préparée (Previous) Libère les ressources associées à une requête SQL préparée (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.