Question

j'apprends php pdo; mon environnement est: NetBeans 6.5.1, XAMPP 1.7.0 et j’ai ce code avec lequel il semble se connecter.

  • Si je change le nom de base en un nom inexistant, il déclenche une exception "la base de données n'existe pas".
  • Si je change d'utilisateur, des "identifiants de connexion incorrects" sont affichés

mais lorsque j'appelle la requête $ cn- >, elle déclenche:

  

Une exception Win32 non gérée s'est produite dans apache.exe

Qu'est-ce que je fais de travers?

$hostname = 'localhost';
$username = 'crb';
$password = 'letmein';
try {
    $cn = new PDO("mysql:host=$hostname;dbname=bitacora", $username, $password);
    echo 'Connected to database<br />';
    $sql = "SELECT * FROM usuario WHERE login = '".$login."' AND clave = '".$clave."'";
    // Error here
    foreach ($cn->query($sql) as $row) {
        print $row['login'] .' - '. $row['clave'] . '<br />';
    }
} catch (PDOException $e) {
    echo $e->getMessage();
} catch (Exception $e) {
    echo $e->getMessage();
}
Était-ce utile?

La solution

Ceci est un bogue dans XAMPP 1.7.0. Passez à la 1.7.1 ou suivez ces instructions pour corriger votre installation 1.7.0.

Autres conseils

Est-ce que $ cn est valide? Vérifiez la valeur de retour. Ce que vous avez décrit jusqu’à présent ne me convainc pas que vous êtes connecté.

Si vous ne l'avez pas déjà fait, je m'assurerais que votre environnement fonctionne correctement.

  1. Assurez-vous que l'utilisateur travaille avec MySQL lui-même (en utilisant quelque chose comme mysqlquery).
  2. Vérifiez que php peut se connecter à MySQL. J'installe phpmyadmin sur toutes les nouvelles configurations (même si je ne le laisse pas en place) afin de m'assurer que la connexion fonctionne correctement.
  3. Demander au PDO d’exécuter des exceptions sur des erreurs (voir http: // us2 .php.net / manual / en / pdo.error-handling.php ) pour voir où les erreurs se produisent immédiatement.

Je suppose que vous ne vous connectez jamais à MySQL, ce qui expliquerait l'impossibilité de modifier la base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top