Problème PDO_construct()

Résolu/Fermé
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023 - 22 mai 2018 à 18:03
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023 - 25 mai 2018 à 12:02
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 mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
22 mai 2018 à 18:38
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 mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
24 mai 2018 à 23:40
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 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
24 mai 2018 à 23:50
0
jordane45 Messages postés 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
24 mai 2018 à 23:54
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 mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
25 mai 2018 à 12:02
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