Problème PDO_construct()

Résolu
xooit21 Messages postés 109 Statut Membre -  
xooit21 Messages postés 109 Statut Membre -
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

  1. xooit21 Messages postés 109 Statut Membre
     
    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
  2. xooit21 Messages postés 109 Statut Membre
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
    2. xooit21 Messages postés 109 Statut Membre
       
      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