Utilisation des fonction de MySQL - C++

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Utilisation des fonction de MySQL - C++

par iclo » 28 déc. 2005, 20:25

http://perso.wanadoo.fr/philippe.baucou ... instr.html

C'est du C, mais bon, ça doit pas être très différents

par alexbad » 28 déc. 2005, 20:25

Alors là, t'inquiètes, j'ai dû dévaliser le web de tous ses exemples dans le domaine :oops:, rien à faire... Ils disent d'utiliser la commande mysq-config --libs pour trouver le bon répertoire et selon moi, ils devraient plutôt dire où trouver cette commande... menfin, je vais délaisser mon apprentissage du C++ pour retourner à mes codes PHP, là au moins j'y comprends quelque chose :wink:

par iclo » 28 déc. 2005, 20:22

oui, ça doit être ça, regardes du côté de la doc, il doit bien avoir un exemple de connexion.

par alexbad » 28 déc. 2005, 19:16

Là j'ai regardé, je trouve un mysqlclient.lib... mais pas de dll en vue... faut le télécharger?

par iclo » 28 déc. 2005, 19:13

Ca fait un bout de temps que je n'ai plus fait d'sql embedded sous C (et c'était un serveur Sybase)
Mais as tu bien installé la partie client de mysql ? Sous windows tu dois avoir au moins une dll? et normalement ton client n'a pas besoin d'accéder au serveur mysql (vu qu'en principe le serveur est rarement sur la machine client)

par alexbad » 28 déc. 2005, 19:03

Bon d'accord pour les espaces, il faut mettre des _, c'est réglé pour ça.

Par contre, il trouve le répertoire mais j'obtiens toujours l'erreur, ce qui signifie que je n'indique pas le bon répertoire. J'indique le répertoire MySQL Server 5.0, le principal dans le quel on trouve bin, scripts, sql-bench etc.

Si je me fie à cette syntaxe -Ldir_path-lmysqlclient trouvée sur http://dev.mysql.com/doc/refman/5.0/fr/link-errors.html, on voit qu'il ajoute -l pour indiquer le chemin de mysqlclient. Moi, je trouve le répertoire MySQL Server 5.0, pas de répertoire Mysql Client... mais il doit bien y en avoir un, sinon comment les requêtes serait exécutées?

Donc ma question: Où est le répertoire de mysql Client?

par Cyrano » 28 déc. 2005, 10:52

lol, ben j'envoyais une idée, je n'ai jamais codé en C++, ni même en C tout court et je n'ai aucune idée de la syntaxe correcte à utiliser en l'occurence :langue:

par naholyr » 28 déc. 2005, 10:19

J'aurais plutot fait "anti-slash"+"espace" que %20, en est pas en http :langue:

par Cyrano » 28 déc. 2005, 10:01

à vue de nez, c'est parce que ton système ne supporte pas les espaces dans les noms de répertoires/fichiers : essaye en mettant Mysql%20Server%205.0

par alexbad » 27 déc. 2005, 22:34

J'ai un autre problème, le linker me donne ces erreurs:
g++: Files\MySQL\MySQL: No such file or directory
g++: Server: No such file or directory
g++: 5.0\: No such file or directory
Il décompose le chemin à chaque espace et là, j'ai aucune idée pourquoi :(

par naholyr » 27 déc. 2005, 22:27

Pour moi l'option serait tout simplement -LC:\Program Files\MySQL\MySQL Server 5.0\bin_lmysqlclient, en supposant que dans C:\Program Files\MySQL\MySQL Server 5.0\bin_lmysqlclient tu trouves bien des fichiers .dll ou .a.

par alexbad » 27 déc. 2005, 22:17

J'ai vu sur le site de mysql ce truc, regarde ce que j'ai mis:
-Ldir_C:\Program Files\MySQL\MySQL Server 5.0\bin_lmysqlclient
Il trouve bien le répertoire, m'affiche les erreurs quand même.

Mais je ne suis pas sûr si cette structure est bonne.

Et, j'utilise Dev-cpp. J'ai mis ça dans "Options", "Compiler options", est-ce correct?

par naholyr » 27 déc. 2005, 22:12

lors de la compilation, tu link bien vers le dossier contenant ta librairie mysql ?

Utilisation des fonction de MySQL - C++

par alexbad » 27 déc. 2005, 18:44

Salut,

J'essaie de me connecter à mysql via c++, j'ai fait toutes les includes nécessaires, l'importation de librairies mais chaque fois que j'essaie d'utiliser une fonction, j'obtiens cette erreur: undefined reference to `mysql_real_connect'@4 et ce, pour chaque fonction.

J'allège le code:

Code : Tout sélectionner

#define USE_OLD_FUNCTIONS #include <windows.h> #include <stdio.h> #include <string.h> #include <iostream.h> // ce chemin est sans doute à adapter #include "C:\Program Files\MySQL\MySQL Server 5.0\include\mysql.h" //------------------------------------------------------------ static void exiterr(int exitcode); //------------------------------------------------------------ MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; //------------------------------------------------------------ int main(){ unsigned int i = 0; if (!(mysql_connect(&mysql,"localhost","username","password"))) { cout<<"Sorry..."; } }
Je sais que PHPFrance est principalement pour le php, mais comme la communauté de cppfrance n'est pas très rapide ni efficace avec des réponses du genre "Bizarre oui, je sais pas quoi faire...", je me suis retourné vers le forum "Autres" :D