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

Langage PHP Discussion :

[PHP 7.3 - MySQL] Modification base de donnée SQL via PHP


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [PHP 7.3 - MySQL] Modification base de donnée SQL via PHP
    Bonjour,

    Je suis un grand débutant en programmation et je suis un bouquin pour apprendre le développement de site web. J'apprends actuellement le PHP et le SQL (MySQL).
    Je suis en train d'essayer de créer une table dans ma base de données $db via le code suivant :

    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
    <?php
        require_once 'login.php';
        $conn = new mysqli($hn, $un, $pw, $db);
        if ($conn->connect_error) die("Erreur fatale");
     
        $query = "CREATE TABLE felins (
            id SMALLINT NOT NULL AUTO-INCREMENT,
            famille VARCHAR(32) NOT NULL,
            nom VARCHAR(32) NOT NULL,
            age TINYINT NOT NULL,
            PRIMARY KEY (id)
        )";
     
        $result = $conn->query($query);
        if (!$result) die ("Echec d'accès à la base de données");
     
    ?>
    J'ouvre la page dans mon localhost (via AMPPS) pour pouvoir créer la table et reçoit comme message : "Echec d'accès à la base de données".

    L'autre page login.php contient mes identifiants et la base que je souhaite modifier, sans erreur de ce côté là.

    J'ai cherché et essayé de vérifier mes paramètres de configuration, tout me paraît bon. J'ai eu le même souci avec une petite page où je pouvais ajouter des références dans un tableau d'une base de donnée : impossible d'ajouter une ligne à mon tableau via php. Pourtant, la base de donnée est bien créée dans ce second cas (elle a été créée directement en passant par l'invite de commande et mysql). J'arrive même à récupérer les infos du tableau déjà existants.

    Merci à ceux qui prendront un peu de leur temps pour m'aider à trouver une solution. C'est peut être tout simple et tout bête mais pour le moment, je ne trouve pas. Merci !

    Turgon

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    J'ouvre la page dans mon localhost (via AMPPS) pour pouvoir créer la table et reçoit comme message : "Echec d'accès à la base de données".
    Utilise mysqli::error() pour en savoir plus => https://www.php.net/manual/fr/mysqli.error.php

    Généralement les CREATE TABLE sont effectués à part, lors de la création de la bdd, avec phpMyAdmin ou MySQL Workbench, et pas dans des scripts PHP =>Tu ne vas pas créer la table à chaque log-in (ou à l'extrême limite il faudrait faire un CREATE TABLE IF NOT EXISTS felins), c'est sûrement ceci qui pose problème.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci d'avoir pris le temps de répondre.

    Au-delà de la création d'une table, c'est la modification d'une table existante qui ne fonctionne pas non plus.

    En gros, je peux lire une table mais pas y écrire. Pourtant, mes autorisations sont bonnes et mon profil peut écrire dans la table et la bdd quand je passe par l'invite de commande.
    L'exercice précédent consistait à programmer un formulaire qui permet d'ajouter une entrée à une table déjà existante. Je me suis retrouvé avec la même erreur : impossible d'écrire dans la base de données via php.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    La seule chose que j'ai vue c'est une création de table, pas d'insertion

    Tu as essayé mysqli::error() ? C'est lui qui te dira ce qui bloque exactement.

Discussions similaires

  1. Base de données sql via php
    Par djolehaineux dans le forum Requêtes
    Réponses: 0
    Dernier message: 29/09/2019, 11h07
  2. Connexion base de donnée SQL via macro
    Par tequillaman dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 30/05/2016, 10h07
  3. Réponses: 0
    Dernier message: 12/03/2015, 10h26
  4. modification base de donnée sql (php)
    Par gaetanmm2 dans le forum Langage
    Réponses: 6
    Dernier message: 02/03/2012, 13h15
  5. Réponses: 7
    Dernier message: 02/03/2011, 14h38

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