Savoir si la valeur renvoyée par mysql_query() est valide?

Savoir si la valeur renvoyée par mysql_query() est valide? - PHP - Programmation

Marsh Posté le 21-10-2002 à 20:44:28    

Hello,
 
Je suis bloqué sur un problème que je n?arrive pas à résoudre sans que ce soit trop « bricolage ». Je m?explique, je suis en train de développer une classe d?outils MySQL à multi usages pour plusieurs projets en php. Je vous mets la partie du code en cause :  
 
class db {
 
 var $mid, $rid, $result, $result_len;
 
 (...)
 
 function query ($query) {
  $this->rid = mysql_query($query, $this->mid) or die(ERR_MYSQL_QUERY);
  $this->result_len = $mysql_num_row($this->rid);
  return true;
 }
 
 (...)
}
 
Cette fonction sert à envoyer une requête au serveur. Quand je fais un select, tout fonctionne sans problème. Mais si je fais une autre opération comme un insert, un update ou un delete, il me fait une erreur du style « Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource ». Ce qui est normal puisque ses dernières opérations ne génèrent pas de résultat. Seulement j?aimerais pourvoir utiliser cette fonction pour chaque types de requête. Est-il possible de tester si la ressource renvoyée par mysql_query() est valide ?
 
Merci à tous

Reply

Marsh Posté le 21-10-2002 à 20:44:28   

Reply

Marsh Posté le 21-10-2002 à 20:57:25    

ben tu testes simplement la valeur de retour de la requete.
 
si c'est null, ya pas de reponse.
 
dans le cas d'un select, il te renvoie... ???
 
et pour une operation, il renvoie 1 si tout c'est bien passe.
 
 
Enfin bon, tu aurais fait un print_r sur le resultat, tu aurais eu ta reponse, cherches un peu avant de crier au secours

Reply

Marsh Posté le 21-10-2002 à 23:54:12    

J'avais déjà regardé, mais cela ne marche pas (ref lire plus bas) ? ou alors je me trompe complètement ?
 
Il m'affiche pour un select le truc suivant: Resource id #2
Pour des insert, update et delete il me renvoi 1.
 
Si je mets à la fin de ma fonction une ligne suivante:
 
if (strcmp($db->rid, "1" )) echo($this->rid);
 
Les selects passent quand même dedans, pourtant la valeur de $db->rid est Resource id #2 !!!!  
 
j'ai essaye avec null, j'arrive aux mêmes résultats.
 
 
C'est moi ou autre chose ??

Reply

Marsh Posté le 22-10-2002 à 00:35:37    

ar2k a écrit a écrit :

J'avais déjà regardé, mais cela ne marche pas (ref lire plus bas) ? ou alors je me trompe complètement ?
 
Il m'affiche pour un select le truc suivant: Resource id #2
Pour des insert, update et delete il me renvoi 1.
 
Si je mets à la fin de ma fonction une ligne suivante:
 
if (strcmp($db->rid, "1" )) echo($this->rid);
 
Les selects passent quand même dedans, pourtant la valeur de $db->rid est Resource id #2 !!!!  
 
j'ai essaye avec null, j'arrive aux mêmes résultats.
 
 
C'est moi ou autre chose ??




 
tu te compliques la vie !!
 
ca serait plutot:
 
if ($result == 1)
 blabla
else
 blabla

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed