0

私はこの1時間、行列式が正しいと確信しているときに、特定の関数が常に誤ったブールを返す理由を解明しようとして髪を引き裂いてきました。

そのため、デバッガーとして、実際に血まみれのデータベース接続をテストするところまで、すべての変数をさらに抽象化してテストしました。

データベースに接続できますが、データベースに送信されるすべてのクエリは常にfalseを返します。私は困惑している。どうしてこれが間違っているのでしょうか?

$db = new PDO('mysql:db=privatechat;host=127.0.0.1', 'root', '');
var_dump($db);
$stmt = $db->prepare("SELECT * FROM `accounts`");
var_dump($stmt);
$stmt->execute();
$row = $stmt->fetch();
var_dump($row);

結果:

object(PDO)#1 (0) { } object(PDOStatement)#2 (1) { ["queryString"]=> string(24) "SELECT * FROM `accounts`" } bool(false) 

これはクレイジーな部分です...私が別のローカルプロジェクトに接続するとき、それは大丈夫です!?

これが私のDBとテーブルのスクリーンショットです:

データベースとテーブル

この質問を送信したときに、「db=」は「dbname=」である必要があることに気づきました。

やれやれだぜ!:)

4

2 に答える 2

1

あなたdbname=privatechatはあなたのDSNに欲しいです。

于 2012-08-13T15:40:08.403 に答える
1

PDO接続文字列は「mysql:dbname = privatechat」である必要があります。「名前」の部分を見逃しました!おっと!

于 2012-08-13T15:40:16.923 に答える