1

私はphppdoを学んでいます。私の環境は次のとおりです。NetBeans6.5.1、XAMPP 1.7.0で、このコードがあり、接続しているようです。

  • dbnameを存在しないものに変更すると、「dbnotexists」という例外が発生します。
  • ユーザーを変更すると、「ログインが正しくありません」と表示されます)

しかし、$ cn-> queryを呼び出すと、次のようになります。

未処理のWin32例外がapache.exeで発生しました

私は何が間違っているのですか?

$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();
}
4

3 に答える 3

4

これはXAMPP1.7.0のバグです。1.7.1にアップグレードするか、次の手順に従って1.7.0のインストールを修正してください。

于 2009-05-04T15:46:05.633 に答える
0

$ cnは有効ですか?戻り値を確認してください。あなたがこれまでに説明したことは、あなたがつながっていることを私に納得させません。

于 2009-05-04T15:36:41.707 に答える
0

まだ行っていない場合は、環境が正しく機能していることを確認します。

  1. ユーザーがMySQL自体を操作していることを確認してください(mysqlqueryなどを使用)。
  2. phpがMySQLに接続できることを確認してください。phpmyadminをすべての新しいセットアップにインストールして(そのままにしておかない場合でも)、接続が正常に機能していることを確認します。
  3. エラーの例外を介してPDOを実行し(http://us2.php.net/manual/en/pdo.error-handling.phpを参照)、エラーがすぐに発生している場所を確認します。

私の推測では、データベースを変更できないことを説明するMySQLに接続していることはありません。

于 2009-05-04T15:46:49.327 に答える