2

mysqlデータベースの内容を出力しようとしていますが、どの方法を使用してもエラーが発生します。現在使用しているコードは次のとおりです。

try 
{
    $dbh = new PDO("mysql:host = $hostname; dbname = kzkcubcy_webDev", $username, $password);
    /*** echo a message saying we have connected ***/
    echo 'Connected to database<br />';

    /*** The SQL SELECT statement ***/
    $sql = "SELECT * FROM animals";
    foreach ($dbh->query($sql) as $row)
    {
        print $row['animal_type'] .' - '. $row['animal_name'] . '<br />';
    }

    /*** close the database connection ***/
    $dbh = null;
}
catch(PDOException $e)
{
    echo $e->getMessage();
}
?>

エラー出力は「警告:21行目の/home/kzkcubcy/public_html/index.phpのforeach()に無効な引数が指定されました」です。

21行目は; "foreach($ dbh-> query($ sql)as $ row)"。私はこれを機能させるために他の多くの方法に疲れましたが、チュートリアルから単語ごとにコピーすることさえ機能しないようです。

4

1 に答える 1

5

変化する

$dbh = new PDO("mysql:host = $hostname; dbname = kzkcubcy_webDev", $username, $password);

$dbh = new PDO("mysql:host=$hostname;dbname=kzkcubcy_webDev", $username, $password);

DSNフィールドにスペースを入れることは許可されていないと思います。

于 2012-12-18T04:41:57.423 に答える