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 :

Script mysql en php


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 173
    Points : 90
    Points
    90
    Par défaut Script mysql en php
    Bonjour à tous,
    j'aimerais avoir vos conseils sur mes soucis de page en php. J'ai une base mysql en local pour m'entraîner, je fais des script en php comme celui-ci par exemple
    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
    <?php
      // Your code here
      echo "<hr />\n".
           "HAPedit 3.1.11.111 (juin 2012 12:06:57)";
    $base = mysqli_connect("127.0.0.1","admin","admin");
    if (!$base)
    {
      die('Could not connect: ' . mysql_error());
      }
     
    if (mysql_query("CREATE DATABASE my_db",$base))
      {
      echo "Database created";
      }
    else
      {
      echo "Error creating database: " . mysql_error();
      }
     
    mysql_close($base);
    ?>
    Et impossible de créer un base de données. J'ai bien testé une connexion, ça me renvoie connexion ok. Mais impossible de lancer ce script de création de base : "HAPedit 3.1.11.111 (juin 2012 12:06:57)Error creating database:"
    J'ai bien vérifier les droits de mon utilisateur admin, d'ailleurs en console le même utilisateur peut créer la base. Dans my.cnf j'ai bien modifié bind afin de permettre la manipulation de données à partir d'un poste du réseau.
    Mais la même action en console ne peut être effectuée à distance.
    J'ai sûrement raté quelque chose mais quoi ... ?..... cela fait près d'une vingtaine d'heures sur j’écume les sites de php - MySQL afin de comprendre mon erreur mais je ne trouve pas.
    Merci de votre aide

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Php offre plusieurs façons d'agir sur un serveur MySQL, comme : PDO, MySQLi et mysql.
    On ne peu pas les mélanger, chacune utilise leur propre driver, etc ...

    Le code que tu as mis commence par faire une connexion à MySQLi : mysqli_connect("bla","bla","bla");
    Puis après on utilise les fonctions mysql. Ca ne va pas (mélange de MySQLi et mysql).

    Faut faire un choix et s'y tenir.
    - Si tu souhaites utiliser MySQLi, alors pour la connexion c'est correcte, pour le reste il faudra exploiter les fonctions mysqli.
    - Si c'est mysql (tout court), et bien même principe, corriger le code pour les fonctions mysql.

    Voir la doc :
    -> MySQLi
    -> MySQL
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 173
    Points : 90
    Points
    90
    Par défaut
    Merci beaucoup,
    j'ai acheté un livre assez complet et ils utilisent dessus PDO. Ils n'expliquent pas comme tu viens de le faire qu'il y a plusieurs méthodes. Le débutant que je suis a comparé avec les sites internet (comme par exemple php débutant ou W3school) et la syntaxe différait.... j'en perdais mon latin.
    A présent j'ai compris quelque chose et je vais m'y tenir.
    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 173
    Points : 90
    Points
    90
    Par défaut
    Pitié, dites-moi ce qui ne va pas dans ce code :
    il a l'air bon non ?

    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
    <?php
      // Your code here
      echo "<hr />\n".
           "HAPedit 3.1.11.111 (juin 2012 12:06:57)";
    $base = mysqli_connect('127.0.0.1','admin','admin');
    if ($base)
    {
      die('connexion ok ! ');
      }
     
    $create_db = mysqli_query('CREATE DATABASE my_db',$base));
    if $create_db  {
                 echo "base créée !";
      }
    else
      {
      echo "Error creating database: " . mysqli_error();
      }
     
    mysqli_close($base);
    ?>
    je n'y comprends plus rien : j'ai un livre sur le développement web de chez ENI et un autre sur PHP & MySQL. J'ai beau suivre les instructions et je me plante à chaque fois. la seule chose que j'arrive à afficher c'est phpinfo.
    J'arrive aussi à me connecter à une base mais c'est tout.

    Merci

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 32
    Points
    32
    Par défaut
    Peux tu mettre ton code entre balise pour que ce soit plus lisible pour tout le monde, c'est le bouton # sur le forum.

    As tu un message d'erreur ?

    Et que veux tu faire exactement ? Créer une base de données et t'y connecter ?

    afficher des données de ta base ?

  6. #6
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 173
    Points : 90
    Points
    90
    Par défaut
    Merci de ta réponse.
    J'ai un serveur lamp pour apprendre le PHP & MySQL (dans le cadre de la reprise de mes études). Je me débrouille déjà bien en mode console MySQL : j'ai créé ma base, mes tables, mes champs etc. J'interroge ma base et mes tables en mode console, tout va bien. Et puis je me lance dans PHP; je veux simplement afficher un visuel d'une table, impossible.
    Du coup je reprends à zéro en débutant par des choses simples : je me connecte à la base, ok !
    Mais je n'arrive pas à créer un base de données (comme c'est le cas dans ce code). Mon navigateur affiche une page blanche.
    Mon serveur est un Pentium II avec 128 Mo de mémoire, j'ai commenté bind-address de manière à pouvoir interroger mon serveur à distance, j'ai créé mon user 'admin' MySQL qui détient des droits d'administration sur les bases.
    Je ne pense pas que mes problèmes viennent de la petite puissance de mon serveur, pour apprendre c'est suffisant non ?
    Alors d'où vient ma galère ? je passe des dizaines d'heures à essayer des lignes de codes, à lire mes bouquins ou à naviguer sur les cours en ligne et je n'arrive à rien malgré tout ce travail.
    Merci de me donner quelques conseils car je commence à me décourager.
    Dois-je envisager un serveur plus puissant ? ou quoi d'autre ?
    Merci.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 32
    Points
    32
    Par défaut
    Je te conseil ca : (c'est du mysql par contre.)

    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
     
    //La connexion
    $idx = mysql_connect('localhost', 'tonlogin', 'ton mot de passe');
    if (!$idx) {
        die('Connexion impossible : ' . mysql_error());
    }
     
    //La cération de ta base de données
    $sql = 'CREATE DATABASE my_db';
    if (mysql_query($sql, $idx)) {
        echo "Base de données créée correctement\n";
    } else {
        echo 'Erreur lors de la création de la base de données : ' . mysql_error() . "\n";
    }
    ?>

    le mieux c'est de regarder sur la doc ici : http://php.net/manual/fr/function.mysql-create-db.php, j'ai juste fait un copier coller c'est super bien expliqué.


    Voila normalement pour une connexion et tu devrais avoir un message d'erreur grace à die('Connexion impossible : ' . mysql_error());
    } si ca vient de ta connexion et echo 'Erreur lors de la création de la base de données : ' . mysql_error() . si ca vient d'ailleurs.

    Bientôt il faudra passer à l'objet car l'extension mysql et mysqli vont devenir obsolète.

    Oubli de mettre en résolu si c'est bon et sinon donne nous tes messages d'erreur.

  8. #8
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 173
    Points : 90
    Points
    90
    Par défaut
    Et paf, ça marche !
    Merci.
    J'avance pas à pas

Discussions similaires

  1. Script d'authentification PHP / MySQL avec session
    Par king_soft dans le forum Langage
    Réponses: 6
    Dernier message: 09/07/2010, 15h00
  2. [AJAX] script simple AJAX PHP affichage balise div et requête mysql
    Par Invité dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 08/02/2009, 14h21
  3. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

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