IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Connexion à la base de données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut Connexion à la base de données
    Bonjour,

    mon problème est simple, la réponse sans doute simple aussi pour vous.

    Je ne parviens pas à créer une page en php permettant l'accès à 1 base de donnée puis de créer une nouvelle table nommée utilisateurs.

    J'ai beau prendre le code dans tous les sens, rien y fait. Le voici ci-dessous.
    Merci pour votre aide. Je débute. Michel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     
    <?php
    // Déclaration des paramètres de connexion
    $host = localhost;
    $user = root;
    $bdd = astropix;
    $passwd  = mike;
     
    // Connexion au serveur
    $liendb = mysql_connect($host, $user, $passwd) or die("erreur de connexion au serveur");
     
    // Connexion à la base de données
    mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
     
    // requete creation de la table utilisateurs
     
    $sql="CREATE TABLE `utilisateurs` (
      `id_user` int(20) NOT NULL auto_increment,
      `nom` varchar(20) NOT NULL default '',
      `prenom` varchar(20) NOT NULL default '',
      PRIMARY KEY  (`id_user`)
    )";
     
    mysql_query($sql);
     
    print ("ça marche");
     
    // Deconnexion de la base de donnees
    mysql_close($liendb);
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour et bienvenu sur le forum.

    Pourrais-tu nous décrire le probleme que tu rencontres ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut pb de connexion à 1 base Mysql (suite)
    Bonjour Sabotage,

    merci pour le message de bienvenu et pour t'intéresser à mon cas.

    Pour planter le décor, je cherche à faire à terme une appli web permettant de collecter des infos d'images photographiques.

    Pour ce faire, sous vista, j'ai tout d'abord installé le serveur apache puis phpmyadmin et enfin Mysql.
    J'ai créé ma base avec phpmyadim, ça, ça marche très bien et dans l'interface web de phpmyadmin, j'arrive à ajouter des données dans les tables et faire des requêtes, ça marche nickel.

    L'étape suivante est de créer des pages web pour implémenter les tables par des champs de saisies, et afficher le résultat des requêtes.

    Ma première page qui consiste à se connecter à la base ne marche pas, le code est pourtant simple mais je ne vois pas ce qui cloche. Pour vérifier si le code s'exécute normalement (cf premier message), je luis fait créer une table appelée utilisateurs. Visiblement la table ne se créé pas, je n'ai pas de message d'erreur.

    Dans le navigateur, lorsque je tape 127.0.0.1, je tombe bien là où sont les pages php, donc côté instal tout semble ok.

    Je sais pas si ce que je raconte est clair mais ça commence à me prendre la tête.

    Merci pour ton aide.

    Michel

  4. #4
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    Salut Michel81.

    Est-ce que ton code est un "copier/coller" de ton script ? Si oui je pense a deux trucs;
    - Le premier c'est que tu n'as pas du activer l'affichage des messages d'erreurs dans la configuration de php.ini (je sais plus laquelle exactement, mais tu peux les desactiver pour que quand ton site est en production, les utilisateurs ne voient pas les messages pour tenter d'exploiter des failles)
    - Le deuxieme qui m'a fais penser au premier, c'est que dans la declaration de tes variables de connexion, il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    // Au choix, " ou '
    //Ce qu'il faut faire:
    $host = "localhost";
    $user = "root";
    $bdd = "astropix";
    $passwd  = "mike";
     
    // Ta déclaration
    $host = localhost;
    $user = root;
    $bdd = astropix;
    $passwd  = mike;
     
    // ...
    Voila, ben si c'est pas ca, après je vois pas, le reste a l'air plutot bon
    A+

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Bonjour à toi,

    Je pense que bigltnt à raison car je viens de tester ton code d'insertion de création de la table utilisateur dans un de mes sites et cela à fonctionner c'est à dire que la création de la table c'est effectué dans ma base de données.

    Donc je pense que le problème vient surement du fait que tu n'a pas mit de " ou de ' lors de la connexion de ta base de données.

    J'espère que tout cela t'aidera à résoudre ton problème!!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut JE VAIS CRAQUER !
    Re,

    merci pour vos réponses mais ça ne marche tjs pas.

    Mais, pour aider à comprendre le truc qui coince : je testais avec Firefox, avec, page blanche lorsque je lance http://127.0.0.1/pagestest.php
    pas de message, rien à afficher. Alors qu'une autre page php dans la même zone qui elle affiche seulement deux ou trois phrases et une image fonctionne nickel. C'est autre page n'a cependant ni sql ni connexion à 1 base, seulement des trucs à afficher.

    Avec IE7, http://127.0.0.1/pagestest.php renvoie l'erreur HTTP 500 Erreur interne au serveur. Pour l'autre page avec 2 phrases + 1 image, ça marche !!!!

    Je vais craquer.

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Bizarre ton affaire, ne désespère po on trouve toujours les solutions!!

    Est-tu sure du nom de ta base....??

    Pour t'aider voici le code que je t'ai parlé tout ta l'eure en espérant qu'il t'aidera à trouver la solution à ton problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
     
    	// permet la connexion au serveur local
    	$host = "127.0.0.1";
    	$user = "root";
    	$pass = "";
    	$name = "siteweb_php";
    	$connexion = mysql_connect($host, $user, $pass) or die (mysql_error());
    	$db = mysql_select_db($name, $connexion) or die(mysql_error());
     
    	$sql="CREATE TABLE `utilisateurs` (
      `id_user` int(20) NOT NULL auto_increment,
      `nom` varchar(20) NOT NULL default '',
      `prenom` varchar(20) NOT NULL default '',
      PRIMARY KEY  (`id_user`)
    	)";
     
    	mysql_query($sql);
     
    	print ("ca marche");
     
     
    ?>
    En sachant que chez moi cela fonctionne parfaitement.

    Je vient de penser : comment lance tu la page de connexion??

    Cordialement!!

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut suite et pas encore fin !
    Merci loic20h28 pour ta réponse, mais en copiant le code tel quel (juste en modifiant le nom de la base et le pwd) ça ne marche pas !

    C'est vrai que je débute et malgré les bouquins éparpillés autour de moi, je m'arrache les cheveux. Et aussi ce qui peut être évident ou trivial pour certain reste un mystère pour les débutants qui bloquent un long moment sur une c******** avant de pouvoir continuer à fond !

    Pour répondre à ta question, pour lancer ma connexion, voilà comment je fait :
    j'ai mis le code que tu m'as envoyé dans une page php puis depuis IE je tape dans la barre d'adresse :

    http://127.0.0.1/mapagetest.php et hop enter !

    Voilà l'erreur renvoyée:
    Fatal error: Call to undefined function mysql_connect() in E:\astropix\base2.php on line 8
    la ligne 8 est celle-ci :
    $connexion = mysql_connect($host, $user, $pass) or die (mysql_error());

    Encore merci pour l'aide de tous pour enfin y parvenir !

    Michel

  9. #9
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à michel81
    Ben moi je vien d'essayer en faisant de la manière que tu fais : et chez moi ça fonctionne!!

    bizarre ton affaire!! La je vois vraiment d'ou ca peux venir j'espère que quelqu'un arrivera à t'aider!!

    Mais ton serveur de base de données(mySql...) est bien activée??

    La comme ca je verrais que ça!! Désolé!!

    Allé tkt pas je débute depuis un ans dans le PHP orientée objet c'est sur qu'au début c'est dur mais tu t'en sortira tkt pas!!

    @++

    P.S. : aidez le si vous avez une idée car quand on es débutant on prend toute idée volontier!!

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    D'ou vient le php que tu as installé ?

    Verifie dans ton php.ini que tu as bien la ligne
    extension=php_mysql.dll
    sans # devant

    Pour débuter tu aurais peut etre du utiliser un ensemble pré-configuré comme xampp.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Pour débuter tu aurais peut etre du utiliser un ensemble pré-configuré comme xampp.
    Il a raison Sabotage sauf que c'est pas xampp mais "wamp".

    @++

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Heu non non je disais bien Xampp.
    Mais Wamp existe aussi.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut suite....
    Bonjour,

    Sabotage, dans mon php.ini j'ai :

    ;extension=php_mysql.dll
    extension=php_mysqli.dll

    pour tout installer (apache, php, mysql et phpmyadmin) j'ai suivi cette page :

    http://tinyurl.com/5mh6sf

    Y-a-t-il des erreurs sur cette page qu'un débutant ne saurait voir ?

    Michel

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut OUF CA MARCHE !!!!!
    Merci Sabotage, bien vu concernant la ligne du php.ini avec
    extension=php_mysql.dll

    en fait comme écrit dans le précédent post j'avais à la place :

    ;extension=php_mysql.dll
    extension=php_mysqli.dll

    Par contre maintenant j'ai une erreur à l'ouverture de phpmyadmin :

    PHP ne peut charger l'extension mysqli,
    veuillez vérifier votre configuration de PHP.

    Est-ce qu'il fait décommenter les 2 lignes pour prendre en compte les 2 extensions ?

    Merci pour vos réponses à cette dernière question avant de passer le post en résolu

    Michel

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Choisi une des deux.

    Y-a-t-il des erreurs sur cette page qu'un débutant ne saurait voir ?
    Conseiller a un débutant d'activer register_globals, je trouve que c'est une belle erreur puisque cette directive a été decouragée depuis PHP5 et disparaitra avec PHP6.
    Travailler avec register_globals sur off c'est justement commencer par des bonnes methodes et ca n'a rien de plus compliqué.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut suite et FIN, ENFIN !!!
    Bonjour Sabotage et bonjour à tous,

    merci pour l'ensemble de vos réponses et votre aide. Problème résolu.

    Michel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JDBC][MySQL] Connexion à la base de données
    Par El Saigneur dans le forum JDBC
    Réponses: 8
    Dernier message: 04/08/2005, 13h52
  2. ERREUR DE CONNEXION à une base de donnée ACCESS protégée
    Par unionriton dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/05/2005, 09h35
  3. Delphi Connexion à une base de donnée distante par TCP/IP
    Par viecel dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/01/2005, 19h19
  4. Echec lors de la connexion à la base de données.
    Par mclown dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 26/10/2004, 23h36
  5. Réponses: 3
    Dernier message: 29/03/2004, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo