Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/12/2007, 16h23   #1
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
Par défaut Appel de procedure stockée avec php4

Bonjour,

J'ai créé une procédure stockée que je souahite appeler avec php. J'utilise la version 4 (je ne peuc pas utiliser une version plus récente pour le moment). J'ai vu qu'on pouvait utiliser PDO ... mais il me semble que c seulement disponible avec la version 5 de php comment fait-on dans ce cas ?

Merci
mcdelay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2007, 16h29   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 830
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 830
Points : 3 462
Points : 3 462
Oui, PDO n'est dispo qu'à partir de PHP5.
Sous PHP4 il faut utiliser L'API MySQLi http://www.php.net/mysqli
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 10h18   #3
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
Merci pour ta reponse. Je pense avoir réussi à lancer la PS , j'ai fait comme suit :

Fonction développée :
Code :
1
2
3
4
5
6
7
 
function CallPS($name,$params=0)
{
mysql_query("CALL ".$name."(".$params.")"); 		
$result = mysql_query("SELECT ".$params);
$row = mysql_fetch_row($result);
}
Apel via php :
Code :
$this->Request->CallPS("SP_AffichageMapForLayer","@1");
Je n'utilise pas mysqli, quelle est la difference avec mysql ?

Par contre j'ai une question par rapport à la PS dont voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
DELIMITER $$
 
DROP PROCEDURE IF EXISTS `catalogue`.`SP_AffichageMapForLayer`$$
 
CREATE DEFINER=`root`@`%` PROCEDURE `SP_AffichageMapForLayer`(IN Id_Layer SMALLINT UNSIGNED)
BEGIN
DECLARE LABEL_Map VARCHAR(100);
DECLARE Layer_Map VARCHAR(100);
DECLARE ListMAP CURSOR FOR SELECT MAP FROM dynmap.map;
DROP TABLE IF EXISTS catalogue.MapForLayer;
CREATE TABLE catalogue.MapForLayer(LABEL VARCHAR(254));
OPEN ListMap; 
BoucleMap : LOOP
FETCH ListMap INTO LABEL_Map;
SET Layer_Map = concat("cua.",LABEL_Map,"_Layer"); 
SELECT * FROM ZoneGeo;
END LOOP BoucleMap;
CLOSE ListMap;
END$$
 
DELIMITER ;
En mettant en commentaire . Le table MapForLyer se créé en laissant le select cela ne marche pas (bien que la requete soit juste)

La question que je me pose est : Peut on en ouvrant un cursor faire un autre select dans une boucle ?

Merci
mcdelay est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h56.


 
 
 
 
Partenaires

Hébergement Web