Valleyforge Posté(e) le 5 mars 2021 Posté(e) le 5 mars 2021 Bonjour, Ce sont mes premiers pas avec une bdd. je viens d'installer MariaDB 10 et phpMyAdmin. J'ai créé une bdd avec une table. Je n'arrive pas à ouvrir la base. Web Station est avec PHP 5.6 avec les extensions mcript et pdo_mysql. La requête PHP suivante : $bdd = new PDO('mysql:host=localhost;dbname=MA_BASE_DE_DONNEES;charset=utf8', 'MON_IDENTIFIANT, 'MON_MOT_DE_PASSE'); renvoie SQLSTATE[HY000] [2002] No such file or directory J'ai bien vérifié qu'il n'y avait pas de coquille dans le nom de la bdd, de l(identifiant et du mot de passe. Merci d'avance pour vos conseils. 0 Citer
DaffY Posté(e) le 5 mars 2021 Posté(e) le 5 mars 2021 Bonjour,Il faut que le profil php soit bien paramètré côté cœur mysql*Pour préciser le port d’écoute 3207 et indiquer le bon chemin mysqld10 en général. 0 Citer
Valleyforge Posté(e) le 6 mars 2021 Auteur Posté(e) le 6 mars 2021 Bonjour, voilà ce que j'ai fait mais sans succès. Coté Pare-feu une règle sur le port 3307. et coté bdd. Pour le chemin, je ne sais pas où cela se paramètre. 0 Citer
Valleyforge Posté(e) le 6 mars 2021 Auteur Posté(e) le 6 mars 2021 Une précision. Dans File Station, je vois bien le répertoire phpMyAdmin sous web, mais je ne vois pas où est installé la bdd. 0 Citer
Valleyforge Posté(e) le 8 mars 2021 Auteur Posté(e) le 8 mars 2021 Bonjour, j'ai résolu le problème : la commande ne doit pas mentionné localhost mais 127.0.0.1 $bdd = new PDO('mysql:host=localhost;dbname=MA_BASE_DE_DONNEES;charset=utf8', 'MON_IDENTIFIANT, 'MON_MOT_DE_PASSE'); J'ai toutefois une question triviale. J'utilise une base de données pour récupérer de manière sécurisée des identifiants et mot de passe. mais pour accéder à la base de données, il faut coder en dur dans le script php le mot de passe de la bdd. Est-ce que le script peut être lu ou récupéré par un quidam ? 0 Citer
Invité Posté(e) le 8 mars 2021 Posté(e) le 8 mars 2021 Un script php ne peut être lu/interprété que par le serveur. Il n'est pas "envoyé" au client/navigateur. Une bonne pratique consiste a créer un fichier php ( exemple config.inc.php ) regroupant tes identifiants et autres données necessaires. Exemple: config.inc.php <?php $db['hote'] = ''; $db['user'] = ''; $db['pwd'] = ''; ... ?> Ensuite tu inclu ce fichier dans ta page, et tu peu appeler les variables pour ta requetes <?php include 'config.inc.php'; .... ?> 0 Citer
Valleyforge Posté(e) le 8 mars 2021 Auteur Posté(e) le 8 mars 2021 Ok, merci pour l'info. Je pensais qu'il était possible de lister d'une manière quelconque le dossier contenant les fichiers php. Mais vraisemblablement pas si le dossier contient un fichier index. A moins que... 0 Citer
Invité Posté(e) le 8 mars 2021 Posté(e) le 8 mars 2021 Tu peu pour encore plus de sécurité placer un fichier.htacces dans un dossier config ou tu aura tes identifiant dans une page php, afin dans interdire les acces non autorisés. 0 Citer
SanglierD Posté(e) le 6 septembre 2021 Posté(e) le 6 septembre 2021 Hello, Je supplie un coup de main de votre part pleeaaasse 🤗. Il s'agit de la même config que Valleyforge. Mon fichier de connexion.php est : <?php /* * Description of connexionDB * Connexion à la base de donnée avec des fonctions des requêtes; * @author Sitedudev */ class connexionDB { include 'config.inc.php'; function __construct($host = null, $name = null, $user = null, $pass = null){ if($host != null){ $this->host = $host; $this->name = $name; $this->user = $user; $this->pass = $pass; } try{ $this->connexion = new PDO('mysql:host='.$this->host.';dbname='.$this->name, $this->user,$this->pass,array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES utf8mb4', PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); }catch (PDOException $e){ echo 'Erreur : Impossible de se connecter à la BDD !'; die(); } } public function connexion(){ return $this->connexion; } } $BDD = new connexionDB(); $DB = $BDD->connexion(); ?> Mon fichier config.inc.php: <?php private $host = '127.0.0.1'; //nom de l'host private $name= 'essai'; //nom de la base de données private $user = 'root'; //utilisateur private $pass = 'essai1234*'; private $connexion; ?> Auriez-vous une idée de ce qui ne fonctionne pas svp ? Merci pour votre aide, Augustin 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.