|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : PostGreSQL/MySQL.... Problème de Majuscule [ Archives / Bases de données ] (Yemanjah)
Informations & options pour cette discussion
jeudi 9 février 2006 à 03:08:32 |
PostGreSQL/MySQL.... Problème de Majuscule

Yemanjah
|
Bonjour , J'ai un problème des plus étonnants , je souhaite mettre en place une application qui bascule facilement d'une base de données à une autre (dans mon cas MySQL/PostGreSQL). Pour cela j'utilise les méthodes quasi-jumelles en php : pg_query()/mysql_query() pg_connect()/mysql_connect() etc... Bref , tout fonctionne correctement (la connexion se fait bien dans les deux cas, il est possible de collecter des données dans les deux bases, etc..) J'ai quand même un problème assez étrange avec la fonction fetch_assoc (pour les deux types de base). Le cas n'est pas forcément simple à expliquer , donc j'vais prendre un exemple : J'ai une requète simple du genre : "Select count(NumDessin)as Nombre from dessin ;" j'appel donc une méthode d'une autre classe comme ceci : $sqlCount = $Truc->SelectSQL("Select count(NumDessin)as Nombre from dessin ;"); Voici la méthode SelectSQL($MaRequete) | PHP: | function SelectSQL($ReqSelect) { // On récupère le type de base dans une variable $type = $this->TypeBase; if ($type == "MySQL") { // La base utilisé est de type MySQL , on utilise les méthodes MySQL d'accés à la base : $this->Query = $resultatNum = mysql_query($ReqSelect)or die('Erreur SQL !<br> <p> </p>' . $ReqSelect . '<br>' . mysql_error()); return $this->GetArrayAssoc($resultatNum, $ReqSelect); } elseif ($type == "PgSQL") { // La base utilisé est de type PostGreSQL , on utilise les méthodes PostGre d'accés à la base : $this->Query = $resultatNum = pg_query($ReqSelect)or die('Erreur PostgreSQL !<br> <p> </p>' . $ReqSelect . '<br>' . pg_last_error()); if (!$resultatNum) { echo pg_last_error($resultatNum); } return $this->GetArrayAssoc($resultatNum, $ReqSelect); } } | Comme vous pouvez le voir, j'appel une methode GetArrayAssoc()... vous l'avez devinez , ça me permet de récupérer un tableau associatif. Voila la méthode GetArrayAssoc() (celle qui pose problème à mon avis) : | PHP: | function GetArrayAssoc($QueryPar, $RequetSel) { // On récupère (encore) le type de base dans une variable $type = $this->TypeBase; if ($this->countSQL($RequetSel) > 0) { if ($type == "MySQL") { while ($d = mysql_fetch_assoc($QueryPar)) { $Tableau[] = $d; } } elseif ($type == "PgSQL") { while ($d = pg_fetch_assoc($QueryPar)) { $Tableau[] = $d; } } } else { $Tableau = false; } var_dump($Tableau); return $Tableau; } | Je ne vous détail pas la fonction countSQL (qui me permet simplement de compter le nombre d'enregistrement que renvoit la requete), à mon humble avis mon problème ne vient pas de la. Voila ce que me renvoit le var_dump du tableau associatif : MySQL : array(1) { [0]=> array(1) { ["Nombre"]=> string(2) "14" } } PgSQL : array(1) { [0]=> array(1) { ["nombre"]=> string(2) "14" } } Comme vous pouvez le remarquer , le tableau est quasiment le même à une seule exception , la majuscule dans le tableau. Ce qui m'embète en fait, car une fois revenue dans ma page principal, je récupère la valeur de cette façon : $sqlNum[0]['Nombre'] Est-ce que quelqu'un sait d'ou le problème peut venir ??? Je suppose que c'est la fonction pg_fetch_assoc() qui est plus capricieuse que sa cousine mysql_fetch_assoc().... Mais je n'ai rien trouvé à ce sujet dans la documentation PHP. Merci d'avance.
|
|
|
jeudi 9 février 2006 à 11:50:00 |
Re : PostGreSQL/MySQL.... Problème de Majuscule

FhX
|
En tout cas, c'est mal codé...
"$type = $this->TypeBase;" <== ca sert strictement à rien ca... "$this->Query = $resultatNum = mysql_query($ReqSelect)or die('Erreur SQL !<br>" <== remarque, ca c'est pire !!
"$this->Query = $resultatNum = pg_query($ReqSelect)or die('Erreur PostgreSQL !<br> <p> </p>' . $ReqSelect . '<br>' . pg_last_error()); if (!$resultatNum) { echo pg_last_error($resultatNum); }" Le OR DIE() est la justement pour éviter de faire un if() derriere ! Inutile ici !
Autrement, c'est pas dans ta table SQL que ca merde, mais bien de ton code. De toute facon, tu utilises une classe sans utiliser les propriétés orientée objet de celle ci ! A quoi ca sert ???
function GetArrayAssoc($QueryPar, $RequetSel) <== Pourquoi vouloir faire passer ta ressource Query et ta requète string SQL en argument ?? Alors qu'il te suffit de faire : $this->Query; $this->Sql; et tu obtiens tout ce que tu veux ! A mon avis, tu devrais revoir la structure de la classe. Rien que pour commencer.
|
|
|
jeudi 9 février 2006 à 13:44:57 |
Re : PostGreSQL/MySQL.... Problème de Majuscule
|
Cette discussion est classé dans : problème, base, mysql, type, tableau
Répondre à ce message
Sujets en rapport avec ce message
Problème Base de Donnée MySQL [ par snakykyle ]
Bonjour tout le monde, Voila, je veux créer un espace membre, le problème s'est que j'ai pas bien saisi comment une fois que le membre s'est identifié
problème avec les accents [ par chino18 ]
Bonjour tout le monde! j'ai un problème qui va surement vous paraître un peu ballot, mais qui m'énerve grave! Voilà: J'insère dans ma base MySQL des d
problème de condition [ par blackblade ]
Hello,Gros problème dans ma condition pour ma base de données. J'ai une base de données dans laquelle si dans un champs précis (12) il est écrit ABS,
problème de recherche sur base de données mysql [ par Xini28 ]
Lorsque je fais une recherche dans une base de données mysql, il s'affiche "Resource id #3" au lieu de ce que je recherche. Quelqu'un sait de quoi ça
Problème de connexion mysql [TITRE MODERE CAR PEU EXPLICITE] [ par blouxe ]
Bonjour,j'ai un serveur Apache sous LinuxJ'ai un serveur de base de données mySQLJ'ai des scripts PHP sur le serveur Apache dans lesquels j'attaque ma
problème des appostrofs dans l'insertion dans une base mysql [ par wsecure ]
svp voir comment insérer un texte qui comprte des appostrofs ou des caractère spéciaux dans une table mysql et merçi
recup ID [ par Joez ]
bonjour voila mon problemeje fais un ajout dans une table, et j'ai besoin de recup l'id auto de cette occurrence tout de suite apres, c'est possible ?
affichage de la base mysql dans un tableau [ par midos ]
MiDo§bonjour,j'ai un petit probleme d'afficher dans un tableau ma base que j'ai créer avec mysql le nom de ma base c 'clients' et le nom de la table q
tableau et base de donnee [ par renauddero ]
Bonjours, Je souhaiterai definir les valeurs d'un tableau par une base de donnee.Voici mon code : include('db.php'); mysql_select_db($database_c
Problème connection base mysql via php [ par jiangnan ]
Bonjour!J'ai un problème de connection sur la base mysql via php.par contre sous phpmyadmin je peut y accéder et aussi quand j'execute mysql -u -p ,ça
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version

LG KP501
Entre 9€ et 159€
|