Problème PDO_construct()

Résolu
xooit21 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -  
xooit21 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je crée en ce moment un site ou j'utilise mamp jusqu'ici tout vas bien, le problème est le suivant j'ai placer mes fichier dans mon serveur Nas 'synology' j'ancrée la même base de donnée que dans mamp mais quand dans mon site je click sur "connexion" il m'affiche cette erreur.

Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /volume1/web/inscription.php on line 9 PDOException: SQLSTATE[HY000] [2002] No such file or directory in /volume1/web/inscription.php on line 9 Call Stack: 0.0666 354208 1. {main}() /volume1/web/inscription.php:0 0.0667 354440 2. PDO->__construct() /volume1/web/inscription.php:9

je sais qu'il y a un problème avec "PDO" mais je ne sais pas quoi? voici mon code de connections à ma base de donnée .

//connection a la base de donnée
$bdd = new PDO('mysql:mariaDB=127.0.0.1;dbname=espace_membres','root','');
// fin de connection

2 réponses

xooit21 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention  
 
après avoir regardé sur d'autre forum j'ai remplacé la ligne de connexion par:

try{
$bdd = new PDO('mysqli_connect:host=127.0.0.1;dbname=espace_membres; charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
}
catch(PDOException $e)
{
die('Erreur : ' . $e->getMessage());
}


Le problème maintenant est que j'ai cette erreur

Parse error: syntax error, unexpected '}' in /volume1/web/inscription.php on line 14
mais je vois pas en quoi l'accolade pose problème?
0
xooit21 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention  
 
Bon j'ai changer ce code :
$bdd = new PDO('mysqli_connect:host=127.0.0.1;dbname=espace_membres; charset=utf8', 'root', '');

Pour:
$user = 'root';
$password = '';
$db = 'espace_membres';
$host = '127.0.0.1';
$port = 3307;
$socket = 'localhost:/run/mysqld/mysqld10.sock';

$link = mysqli_init();
$success = mysqli_real_connect(
$link,
$host,
$user,
$password,
$db,
$port,
$socket
);
}

Mais maintenant j'ai une erreur :

Fatal error: Call to a member function prepare() on null in /volume1/web/inscription.php on line 60

le code:

$reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ? ");
$reqmail->execute(array($mail));
$mailexist = $reqmail->rowCount();

Comment puis-je remplacer sa?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Sachant que si ton port mydql est en 3307 au lieu de 3306
$bdd =new PDO('mysql:host=127.0.0.1;port=3307;dbname=espace_membres; charset=utf8', 'root', '');
0
xooit21 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai trouver j'ai demander au support de synology est il mon dit d'installer mariaDB5, et oui j'ai aussi changer le port en 3306
merci a vous pour votre aide.
0