1

私はpdoが初めてで、次のことを試して致命的なエラーが発生しました。

$pdo = new pdo('mysql:localhost;widget_corp;charset=utf-8', 'root', '');
$query = $pdo->query("SELECT * FROM 'users'");
$result_array = $query->fetchAll(PDO::FETCH_ASSOC);
4

4 に答える 4

5

変化する:

mysql:localhost;widet_corp

mysql:host=localhost;dbname=widget_corp

また、投稿されたコードで:

$query = $pdo->query("SELECT * FROM 'users'");

テーブル名を一重引用符で囲みます。Mysql では、テーブルと列の代わりにバッククォートを使用する必要があります。

    $query = $pdo->query("SELECT * FROM `users`");
于 2012-09-07T10:22:49.090 に答える
4

PDO::queryfalseクエリが間違っている場合に戻ります。

SELECT * FROM 'users'

する必要があります

SELECT * FROM `users`
于 2012-09-07T10:25:12.550 に答える
3

$pdo->query()クエリが失敗した場合は false を返します。pdo を正しく開始していないため、おそらくクエリがエラーを返さなかったかどうかを確認する必要があるため、次のようにします。

$pdo = new pdo('mysql:host=localhost;dbname=widget_corp;charset=utf-8', 'root', '');
$query = $pdo->query("SELECT * FROM `users`");
if($query !== false)
{
    $result_array = $query->fetchAll(PDO::FETCH_ASSOC);
}
于 2012-09-07T10:22:59.590 に答える
1

代わりに次のコードを使用してください。

$pdo = new PDO('mysql:host=localhost;dbname=widget_corp;charset=UTF-8', 'root', '');
$query = $pdo->query("SELECT * FROM `users`");
$result_array = $query->fetchAll(PDO::FETCH_ASSOC);

これが機能しない場合、PDO正しくインストールされていますか?

于 2012-09-07T10:23:46.103 に答える