Aller au contenu

Featured Replies

Posté(e)

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.

Posté(e)

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.

Posté(e)
  • Auteur

Bonjour,

voilà ce que j'ai fait mais sans succès.

image.thumb.png.da49bce4fbb9463427cee9734c645dda.png

Coté Pare-feu une règle sur le port 3307.

image.png.97671db283f8d199e23540cfe452aa0a.png

et coté bdd.

Pour le chemin, je ne sais pas où cela se paramètre.

 

Posté(e)
  • Auteur

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.

  • Valleyforge a modifié le titre en [Résolu] Base de données Mariadb 10
Posté(e)
  • Auteur

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 ?

 

Posté(e)

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';

....
?>

 

Posté(e)
  • Auteur

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...

 

Posté(e)

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.

  • 5 mois après...
Posté(e)

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

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.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.