Evil_Gouki_X
Messages postés19Date d'inscriptionmardi 29 mai 2007StatutMembreDernière intervention22 mai 2010
-
25 oct. 2007 à 12:33
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 2011
-
26 oct. 2007 à 12:09
bonjour a tous
je pose la question ici car je n'ai pas encore trouve la reponse pour le moment.
j'ai reussi a me conneter a une BDD my sql avec la methode normale:
<?php
mysql_connect("host","user","password");
mysql_select_db("basedonee";)
ect
...
...
...
?>
pas de probleme a ce niveau. le programme tourne bien et j'arrive a selectionner prendre et afficher les donnees que je veux.
mais on me dit que c'est mieux d'utiliser directement le fichier ini. ca evite de mettre les informations pour la connection dans mon code.
mon probleme : de quel fichier ini parle t on exactement? comment faire pour faire reference a ce fichier?
desole j7ai commence PHP il y a quelques heures. j'ai penser creer un fichier (text peut etre) et mettre mes parametres dedans pour les appeler apres (genre module comme en vb.net ou genre une fonction "getconfiguration" comme en perl) mais je ne vois pas vraiment comment faire pour le moment.
merci d'avance a toutes les bonnes ames qui peuvent m'aider.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 25 oct. 2007 à 14:14
Salut,
Je ne vois aucune objection à utiliser des paramètres de connexion pour la fonction mysql_connect...
Mais bon... Si VRAIMENT tu veux absolument ne pas les spécifier, tu as la possibilité de modifier le fichier php.ini, dans la section correspondant à MySQL, et qui commence par la ligne [MySQL]
Elle ressemble à ça :
---------------------------
[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = On
; Maximum number of persistent links. -1 means no limit.
mysql.max_persistent = -1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
mysql.max_links = -1
; Default port number for mysql_connect(). If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
mysql.default_port =
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =
; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =
; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =
; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =
; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60
; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off
---------------------------
En spécifiant les valeurs mysql.default_host, mysql.default_user et mysql.default_password, tu pourras te dispenser de passer ces arguments à la fonction mysql_connect (la modification du fichier php.ini nécessite le redémarrage d'Apache).
Cependant, quelques bémols...
- sur un serveur mutualisé, tu n'as pas accès au fichier php.ini
- pour des raisons de sécurité, cette pratique est à déconseiller formellement
- le bon sens veut que l'utilisateur par défaut ne doit pas être l'utilisateur habituel, l'utilisateur "de travail"... C'est une valeur par défaut, c'est tout. Cette fonctionnalité n'est pas là pour faciliter la vie du développeur qui souhaite se passer d'arguments, mais pour tenter une connexion si aucun paramètre n'a été passé. Enfin c'est comme ça que je vois les choses.
--------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 oct. 2007 à 18:50
Hello,
moi non plus je ne comprends pas ce que l'on t'a suggéré.
A mon avis, c'est bien un fichier de config que l'on t'a suggéré, qui initialise tes paramètres de connexion (moi aussi j'utilise des constantes en général).
Parce que modifier php.ini pour ça me parait stupide. Ca enlève toute possibilité de se connecter à une autre base mysql. Je ne vois pas.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 25 oct. 2007 à 22:43
Beuh... Ca empêche pas de se connecter à une autre base... Si on spécifie des paramètres de connexion, aucun problème. Le php.ini ce sont des valeurs par défaut, entre autres utilisées par mysql_ping si aucune connexion n'est trouvée.
Cela dit, ça reste idiot de le modifier.
M'enfin c'est pas évident de répondre correctement à une question quand le problème est mal posé dans une question mal formulée...
Vous n’avez pas trouvé la réponse que vous recherchez ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 oct. 2007 à 22:55
C'était pas une remarque sur ton commentaire, neigedhiver, j'avais bien compris pourquoi tu disais ça :-) Je précisais juste que c'était idiot. Ca ne sert à rien de modifier le php.in de cette façon si on change les paramètres dans le script, après tout.
Bref, je pense qu'on lui a parlé d'un inc.php ou un truc dans le genre, en fait.
Evil_Gouki_X
Messages postés19Date d'inscriptionmardi 29 mai 2007StatutMembreDernière intervention22 mai 20101 26 oct. 2007 à 02:48
Salut salut
merci a tous pour vos reponses.
je vais tout essayer de suite.
ben en fait j'ai demande encore hier si je devais creer un fichier de config et lire dedans mais le gars m'a bien dit, "non non, tu utilise juste le fichier ini".
qu'est ce qu'il peuvent m'ennerver a vouloir toujour compliquer les choses simples. je ne voulais pas toucher au dossier ini car je ne suis pas tres chanceux quand je commence un language et j'oublie toujours les petits details (genre ; ou encore if {}).
hier soir avant de dormir,en cherchant, j'ai trouver la commande suivante : ini_get()
Evil_Gouki_X
Messages postés19Date d'inscriptionmardi 29 mai 2007StatutMembreDernière intervention22 mai 20101 26 oct. 2007 à 02:59
desole neigedhiver pour la formulation de la question.
je l'ai redige a la va vite et j'ai pense que comme je suis debutant que ma question serait trop facile pour les inities (en d'autres termes que vous auriez compris tout de suite.........ceci dit vous avez compris vite)
sinon mon aussi je ne pensais pas avoir tout compris dans ce que le gars me disait donc j'ai poser la question a peut pres comme j'avais compris. je voulais bien vous montrer le code mais je n'arrive pas a copier coller avec Ctrl C Ctrl V (va savoir pourquoi)
ps: je suis au japon et je ne parle pas encore bien ce qui peut expliquer que je soit un peu perdu
Evil_Gouki_X
Messages postés19Date d'inscriptionmardi 29 mai 2007StatutMembreDernière intervention22 mai 20101 26 oct. 2007 à 04:35
Rebonjour a tous et encore un grand merci
bon alors c'est bon tout est regle. vous aller rire....(ou me tuer) je vous dois quelques explications.
-----------------------------------------------------------------------------------------------------------------------
je rappel le contexte : je suis au japon et je ne comprend qu'a 70% ce qu'on me dis.
et je m'excuse de ne pas avoir specifier avant que :
je suis sous windows xp,
j'utilise Apache 1.3.35
My SQL 4.0.26 (j'avais la derniere version de mySQL 5 mais il a fallu que je la desinstalle pour utiliser wordpress qui ne fonctionnaita pas dessus........si vous savez comment faire pour utiliser Mysql 5 et wordpress je suis prenneur.)
phpMyAdmin 2.8.1
et Wordpress-2.2.1(je voulais utiliser le 2.3 mais je suis contraint d'utiliser cette version)
mon projet : la creation d'un blog en php
et j'en suis aujourd'hui a mon 2e jour de php
-------------------------------------------------------------------------------------------------------------------------
alors le gars m'a dit d'utiliser le fichier ini. seulement voila (et c'est la ou neigedhiver avait raison sur la formulation de la question) ne m'ayant pas dit quel fichier ini dont il parlait (et surtout n'ayant peut etre pas bien compris ce dont il parlait) les reponses ont automatiquement ete dirige vers php.ini.
pour etre sur d'avoir au moins une chance d'avoir une bonne reponse j'ai fait tout ce que vous m'avez conseillez, et j'ai donc cree plusieurs fichiers test avec des methodes differentes.
je montre au gars et lui explique que selon vous tous c'est absurde d'utiliser le fichier ini de php.
et la il me dit "il ne faut pas utiliser le fichier php.ini , il faut utiliser le fichier ini de wordpress!!!" probleme en installant wordpress je n'ai vu aucun fichier "wordpress.ini" avec des parametres SQL dedans.
et la je me souviens avoir vu une fois un fichier config pour wordpress. et tenez vous bien en fait le fichier ini en question est un fichier config.php se trouvant dans wordpress (ce qui nous ramene a la soluce de Teclis01). c'est la que j'ai compris que si quelqu'un vous dis dans une autre langue "d'utiliser les ini pour les connections SQL", il faut tres certainement comprendre "fichier de configuration".
vraiment desole pour tout. ceci dis toutes vos solutions m'ont beaucoup aide sauf une que je n'ai pas compris : coucou 747, comment faire une fonction mysql_connect qui appelle mysql_connect? ". desole je ne sais pas encore faire de fonction en PHP.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 26 oct. 2007 à 12:09
Salut,
Coucou747 parlait d'une fonction mysql__connecte (avec deux fois _ dans le nom), qui se contente de faire mysql_connect('host', 'user', 'password').
Mais en fait, si tu utilises une application complète, tu n'as pas à te soucier de faire du développement, tu te contentes de rentrer des paramètres au bon endroit.
Bref.
Pour faire fonctionner Wordpress avec MySQL 5, c'est pas bien compliqué : on suit simplement la procédure d'installation de Wordpress, et ça marche. Il n'y a pas, que je sache, d'incompatibilité entre les deux.