0

私は PDO を教えているチュートリアルに従っていますが、非常に早い段階で立ち往生しています。

以下のコードを参照して、選択した DB まで問題を診断しました。

print_r($query); を実行すると 出力がなく、最初はスクリプトがMySqlサーバーにまったく接続していないことが問題だと思っていましたが、ホスト、ユーザー、またはパスで何かを変更するとエラーメッセージが表示されることがわかりましたが、何を変更してもデータベースに関連するものは何も起こらず、エラー メッセージも表示されません。

<?php
error_reporting(E_ALL);

$config['db'] = array(
    'host'      => 'xxxx',
    'user'      => 'xxxx',
    'pass'      => 'xxxx',
    'database'  => 'xxxx'
);

$db = new PDO('mysql:host=' . $config['db']['host'] . ';database=' . $config['db']['database'],$config['db']['user'], $config['db']['pass']);
$query = $db->query("SELECT `subscribers`.`first_name` FROM `subscribers`");

print_r($query);


echo 'Anything';

?>

誰かが私が間違っていることを教えてくれたら、私は最も感謝し、事前に感謝します.

ところで、私はその SELECT を確信していsubscribersます。first_nameFROMsubscribersは正しいです。これは、php MyAdmin 内の mysql タブに挿入すると機能するためです。

4

2 に答える 2

2

データベース名の DSN パラメータはdbnameではなくと呼ばれていると思いますdatabase

これを試して:

$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['database'],$config['db']['user'], $config['db']['pass']);
于 2013-06-01T19:10:21.310 に答える
-1

データベースとの接続を作成したら、ステートメントを作成し、クエリを設定し、値をバインドし (オプション)、クエリを実行して結果をフェッチする必要があります。あなたの場合:

$db = new PDO('mysql:host=' . $config['db']['host'] . ';database=' . $config['db']      ['database'],$config['db']['user'], $config['db']['pass']);
$query = $db->prepare("SELECT `subscribers`.`first_name` FROM `subscribers`");
$query->execute();
$result = $query->fetchAll();
var_dump($result);
于 2013-06-01T19:09:33.990 に答える