0

私は PDO を初めて使用します。いくつかのオンライン チュートリアルを試し、ステップバイステップ ガイドを見つけました。私は WAMP を使用しています。「books」という名前のテーブルで「try」という名前のデータベースを作成しました。今私のindex.phpで私は書いた:

<?php
$host   = "localhost:3306";
$db = "try";
$user   = "clyde";
$pass   = "moonfang";
$conn = new PDO("mysql:host=$host;dbname=$db",$user,$pass);

$sql = "SELECT * FROM books";
$q   = $conn->query($sql) or die("failed!");    

while($r = $q->fetch(PDO::FETCH_ASSOC)){    
    echo $r['title'];
} 
?>

ブラウザに localhost をロードするたびに、これらのエラーが表示されます。 ここに画像の説明を入力 私は問題を理解していません.. :-(

4

3 に答える 3

2

いくつかの例によると、PDO はdsnのhostとを優先しているようです。port

$host = "localhost";
$port = 3307;
$conn = new PDO("mysql:host=$host;port=$port;dbname=$db",$user,$pass);

PDO MySQL DSN の PHP マニュアルは次のとおりです。「ポート」の部分に注意してください。

于 2012-10-23T14:14:13.013 に答える
0

問題は、ターゲットマシンが[接続]を積極的に拒否したことです。

したがって、データベースサーバーへのユーザー名/パスワード/アクセス権がすべてOKであるかどうかを確認する必要があります。IP/ホストとポート/ファイアウォールの設定を含みます。

于 2012-10-23T14:14:45.463 に答える
0

エラーが発生する 8 行目は $q = $conn->query($sql) or die("failed!");この行は mysql_ と PDO が混在しており、必須ではありません。

コードは次のようになります

$sql = "SELECT * FROM books";
while($r = $sql->fetch(PDO::FETCH_ASSOC)){    
   echo $r['title'];
} 

PDO エラー処理も組み込む必要があります

`

于 2012-10-23T15:15:02.853 に答える