Fonction renvoyant un recordset

Résolu
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009 - 14 oct. 2004 à 01:16
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008 - 15 oct. 2004 à 09:59
salut, pour l'instant g une expérience plutot asp mais fo que je m'y mette au php. Donc je débute. je viens de me connecter a la base c ok. je la ferme ok. Maintenant je voudrais une fonction Requete ($sSQL) qui prends en parametre la requete et qui me renvoie mon recordset (en asp ça se dit comme ça en php je sais pas trop )
ce qui me donne :

//------------------------------------------------------------
function Requete ($sSQL)
//------------------------------------------------------------
// Execute la requete sSQL et la renvoie dans un recordset
//------------------------------------------------------------
{
return mysql_query($sSQL) or die('Erreur SQL !
'.$sSQL.'
'.mysql_error());
}

je la recupere dans mon recordset :
$rsAdo = Requete($sSQL);

puis je lance la boucle while:
while ($row = mysql_fetch_array($rsAdo)){

et là ça couille ....
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\easyphp1-7\www\......php on line 41
mais si je remplace $rsAdo Requete($sSQL); par $rsAdo mysql_query($sSQL) or die('Erreur SQL !
'.$sSQL.'
'.mysql_error()); ya aucun pb ... donc je comprends pas trop là ... si vous avez une idée :) merci

5 réponses

ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
15 oct. 2004 à 09:59
salut

c normal parceke lma premiere fonction que jai mise est dans un objet donc avec this-> on pointe vers l'objet qui est en cours d'utilisatuion tout betement (et il faut reprendre tout le code des objets dans le lien que je t filer.... mais si tu n'aiùes pas l'objet (ce qui a l'air d'etre le cas) tente la deuxième fonction mais je ne suis pas assurer de son fonctionnement.

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
3
magidev Messages postés 249 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 28 août 2009
14 oct. 2004 à 02:11
Salut, ah oui je suis passé par la, asp >> php pas facil facil au début mais super apres le php jadore trop lol

Voici un exemple de code que je reutilise a chaque foi pour mes connexion et SELECT

//Connexion (pour exemple)
$hostname_Connex = $varhost;
$database_Connex = $varname;
$username_Connex = $varuser;
$password_Connex = $varpasswd;
$Connex = mysql_connect($hostname_Connex, $username_Connex, $password_Connex) or die(mysql_error());
mysql_select_db($database_Connex, $Connex);

//SELECTION
$query_Clients = "SELECT * FROM informations";
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error());
$row_Clients = mysql_fetch_assoc($Clients);
$totalRows_Clients = mysql_num_rows($Clients); //nombre de lignes

//Mon DO

do {
} while ($row_Clients = mysql_fetch_assoc($Clients));

Et comme ce code marche parfaitement j espere que ca peut t'aider ;-)

*************
On a parfois de la chance dans son malheur, moi par exemple, je me suis blessé avec une boite de sparadraps (P.Geluck)

Si vous désirez vous ajouter dans mes contacts MSN, veuillez m'envoyer un message via ce site.
0
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
14 oct. 2004 à 02:34
c sympa merci mais ce que je voudrai c que ceci:
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error());

soit dans une fonction, du genre je lui donne la requete sql en parametre et ça me renvoie le recordset directement car dans cette fonction apres je pourrai gérer un log de toutes les erreures, un affichage personalisé du pb, et que je ne soit pas obligé de recopier a chaque nouvelle requete les fonctions préétablies. (en gros le but d'un fonction koi :))
++
0
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
14 oct. 2004 à 08:59
salut

Cherche sur le site des objet qui gère le mysql tu vera ca devrait le faire moi jai un truc comme ca:

function requete ($requete){
// Exécution de la requête
$result =  mysql_query ($requete, $this->connect);
// Vérification de la requête
if (!$result){
// Affichage du message d'erreur
echo " Erreur :  Impossible d'effectuer la requête au serveur";
exit;
}
else {
// Initalisation de l'attribut de requête
$this->requete  = $result;
}
}

alors je pense q'une fonction du style :

function requete ($requete){
// Exécution de la requête
$result =  mysql_query ($requete);
// Vérification de la requête
if (!$result){
// Affichage du message d'erreur
echo " Erreur :  Impossible d'effectuer la requête au serveur";
exit;
}
else {
// Initalisation de l'attribut de requête
return($result);
}
}


Sinon avec la fonction je crois qu'il ya un problème qu'il ne sait pas quel connexion prendre ou un truc comme ca mais je suis pas sur!!!

Si tu veut tout l'objet et l'adapter va voir cette source :
http://www.phpcs.com/code.aspx?id =26469

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
14 oct. 2004 à 14:18
c cool ça !! le gars a fait un bon truc, mais vu que le c++ ça fait un bail que j'en ai pas fait (c++ a peu pres pareil que le php enfin c mon avis ..) bref $this-> ceci ça correspond a un pointeur si je me souviens bien mais je pige pas son utilisation tu peu peut etre l'éclairer sur la question ?
0
Rejoignez-nous