質問
php pdoを学習しています。私の環境は、NetBeans 6.5.1、XAMPP 1.7.0で、このコードがあり、接続しているようです。
- dbnameを存在しないものに変更すると、例外" db not exists"が発生します
- ユーザーを変更すると、「ログインが正しくありません」というメッセージが表示されます)
しかし、$ cn-> queryを呼び出すと、以下が発生します:
apache.exeで未処理のWin32例外が発生しました
何が間違っているのですか?
$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();
}
他のヒント
$ cnは有効ですか?戻り値を確認してください。これまで説明してきたことは、あなたが接続されていることを私に納得させません。
まだお持ちでない場合は、環境が正しく機能していることを確認します。
- ユーザーが(mysqlqueryなどを使用して)MySQL自体を使用していることを確認します。
- phpがMySQLに接続できることを確認してください。すべての新しいセットアップにphpmyadminをインストールし(適切な場所に残さない場合でも)、接続が正常に機能することを確認します。
- エラーの例外をPDOで処理する( http:// us2を参照.php.net / manual / en / pdo.error-handling.php )で、エラーがどこで発生しているかをすぐに確認できます。
MySQLに接続することはないと思いますが、これはデータベースを変更できないことを説明します。
所属していません StackOverflow