Connexion à la base de données

Debutantphp
Invité n'ayant pas de compte PHPfrance

22 avr. 2013, 18:45

Bonjour à tous ,

Je débute en php, et j'ai des soucis pour me connecter à ma base de données avec PDO. Je suis sur mac et j'utilise camp.

Voici mon code :
<?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
?>
J'ai bien vérifié mes identifiants, mais impossible de se connecter à la bdd, voici l'erreur :

Parse error: syntax error, unexpected '$bdd' (T_VARIABLE) in /Applications/MAMP/htdocs/phptests/bonjour.php on line 4

Apparemment c'est ça qui pose problème :
 $bdd = new PDO
Je ne comprends pas d'où peut venir le problème ? Je suis vraiment débutant alors je suis complètement perdu, merci de votre aide :D

ViPHP
xTG
ViPHP | 7331 Messages

22 avr. 2013, 19:46

A mon avis tu n'as pas un serveur avec PHP5, ce qui pourrait faire que le bloc try..catch ne soit pas reconnu (non disponible avec PHP4 et précédent).
Vérifies la version de PHP avec une page contenant phpinfo();

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 avr. 2013, 19:52

salut,


qu'elle est la version de php ?
est ce que PDO est activé ? (extension pdo + pdo_mysql)

tu peux voir tous ceci avec un phpinfo();

@+
Il en faut peu pour être heureux ......

debutantphp
Invité n'ayant pas de compte PHPfrance

22 avr. 2013, 20:01

Bonjour à vous deux et merci pour vos réponses,

j'ai fait une page avec phpinfo();

Apparemment, je suis en php 5.4.10

Pour ce qui est de PDO, normalement ça devrait être bon car j'ai rajouté la ligne extension=pdo.so dans les fichier php.ini et j'ai activé display-errors.

D'après ce qu'on m'a dit le problème est que le script ne s'exécute même pas et que ça bloque avant même la connexion avec la bdd. Le problème c'est que moi je ne comprends pas grand chose au php du coup je suis vraiment largué.

Merci pour votre aide, j'espère que vous m'aiderez à trouver la solution :D

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 avr. 2013, 21:22

le script s’exécute forcément sinon tu n'aurais pas de message d'erreur.

ensuite il est relativement simple, et vu le code cela ressemble à une erreur sur une version qui ne connait pas le try / catch.

essai juste en gardant l'utilisation de pdo
<?php
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
?>
@+
Il en faut peu pour être heureux ......

debutantphp
Invité n'ayant pas de compte PHPfrance

22 avr. 2013, 22:53

Merci !!! :D 3 jours que je bloquais !!! j'ai testé et ça marche ! Youhoouuu ! (ta signature me va à merveille...)

Je ne sais pas pourquoi ça ne marche pas sur php5.4.10 mais sans toi je n'aurais jamais trouvé ça !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 avr. 2013, 08:01

je reste quand même sceptique sur la version de php qui la clairement ne comprend pas le bloc d'instruction try / catch :oops:



@+
Il en faut peu pour être heureux ......