connexion à base de données

Petit nouveau ! | 6 Messages

28 oct. 2005, 20:15

Jusqu'à présent je travaillais en local, super bien:
Un site local 'AAA' sur mon disque
Un serveur web local 'Apache'
Un serveur d'évaluation PHP
Une base de données Mysql 'base'
Une connexion à la base 'co_base'
Je passe chez un hébergeur (Webzzanine)
Je transfert les fichiers de mon site
Je transfert ma base avec un nouveau nom imposé par l'hebergeur('base-web) (export_import avec PHPmyadmin)
Et je merde complêtement pour établir une nouvelle connexion avec cette nouvelle base.
Je constate que mes fichiers hébergés conservent les codes de l'ancienne connexion 'co_base)
En bref, peut-on avoir un site local 'AAA' unique travaillant alternativement en local (Apache, PHP, Mysql) et avec le site hébergé ?
Ou bien, faut_il prévoir un site local 'AAA' pour le fonctionnement en local et un autre site local 'BBB' pour fonctionner avec le site hébergé ?
Boudu ! c'est pas facile d'être clair !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

28 oct. 2005, 20:58

Salut, pour eviter ce genre de problemes il est recommandé de faire un fichier qui contient les données de connexion
$serveur_connect="*****"; //votre serveur sql
$login_connect="****";        //le login base de donnée
$password_connect="****";         //le mot de passe de base de donnée
$base_connect="***";         //le nom de votre base de donnée

$idConnect=mysql_connect($serveur_connect, $login_connect, $password_connect); // Connexion à MySQL
mysql_select_db($base_connect,$idConnect);
et de l'inclure dans les fichier a traitement mysql. Comme ça lors du transfert d'un hébergeur a l'autre ou local tu n'a qu'un fichier a modifier et non toutes les pages.

Si c'était bien cela ton probleme

:wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 649 Messages

28 oct. 2005, 23:30

Ouais, c'est la meilleure solution. Autrement, moi, l'autre jour j'étais vraiment mal pris et j'avais ouvert tous mes fichiers avec notepad++, j'avais utilisé la fonction "Remplacer" puis ça a été du gâteau. Mais c'est une solution de dépannage. :wink:
Image

Petit nouveau ! | 6 Messages

29 oct. 2005, 19:24

Merci à Truc et Alexbad. J'aurais dû vous demander un coup de main plus tôt. Maintenant, je me retrouve avec 17 pages à modifier. Mais bon ! on en meurre pas.
Néanmoins, l'embryon de 68 berges que je suis, a un autre pb à vous soumettre.
Un site local (AAA) avec un serveur local (Apache), un PHP local, un Mysql local et une base lacale, c'est quand même vachement sympa pour faire du développement et de la mise au point, non ?
Après, quand on veut être hébergé, le site local (AAA) ne convient plus puiqu'il contient 17 pages sur lesquelles le code de connexio à la base ne convient pas. Faut_il donc prévoir un second site local (BBB) pour travailler avec le site distant hébergé ? Et comment assurer la similitude des deux sites locaux puique par nécessité, ils ne peuvent pas être identiques, a cause de ces foutus codes de connexion.
J'me pose un faux problème ou quoi. :shock: :oops: :!: :?:

ViPHP
ViPHP | 649 Messages

29 oct. 2005, 19:27

Avant de modifier, attends un peu regarde:
Sur chacune de tes pages, tu fais une include:
<?
include "connexion.php";
?>
Et la page connexion.php contient cela:
<?
$host = "localhost";
$username = "root";
$password = "motdepasse";
$database = "basededonnees";¸
?>
Comme ça à l'avenir, un fichier pour tout ton site à modifier :wink:
Image

ViPHP
ViPHP | 649 Messages

29 oct. 2005, 19:28

Et en plus, ça répond à ton deuxième problème. Tu auras juste à modifier une page en quelques secondes chaque fois.
Image

Eléphant du PHP | 55 Messages

29 oct. 2005, 19:33

plutôt que de définir une connexion par page, pourquoi pas utiliser une simple fonction, unique, qui sera utilisée au petit bonheur quand y'en aura besoin.(dju, j'mexprime comme un dieu). Comme ça, si changement il y a, un petit changement, et hop!

J'ai environ le même problème, ou je développe en local, et un hébergeur ailleurs. Pour le moment, j'utilise uniquement la base de données de mon hébergeur, de toute façon je paie pour, comme ça c'est plus facile (j'ai pas de laptop, je suis donc de toute façon connecté quand je développe.)

Tant que tu y est, tu peux carrément intégrer une condition de test, pour déterminer quelle connexion utiliser, a la volée.
Mais qu'importe..

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 oct. 2005, 03:18

J'me pose un faux problème ou quoi. :shock: :oops: :!: :?:
Oui, puisque comme deja dis tu n'aura qu'un fichier a changer avec les paramètres de connexion et donc ça prend 23 secondes pas plus pour sauter du mode "local" au "mode "en ligne" :D

la méthode de alexbad (meme si c'est ce que j'avais deja souligné :wink: )marcherai mais encore faut-il que tu appel les fonction de connexion avec des variables, par exemple:
$idConnect=mysql_connect($host, $username, $password);
la tu peut le faire mais si tu a mis directement les identifiant
$idConnect=mysql_connect("mon_hébergeur", "moi", "passe");
dans ce cas ... bon courage pour la modifiaction des pages

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 649 Messages

30 oct. 2005, 03:21

C'est la que la fonction "Remplacer dans tous les fichiers" de notepad++ devient intéressante! Tu ouvres tous les fichiers et tu remplace le tout une seule fois et voilà.
Image