2012-12-18 217 views
2

我試圖輸出我的mysql數據庫的內容,但不管使用什麼方法它的錯誤,這裏是我現在使用的代碼;PDO - 爲foreach提供的無效參數()

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(); 
} 
?> 

誤差及其輸出是 「警告:在/home/kzkcubcy/public_html/index.php爲的foreach()供給線21無效參數」

和線21是; 「foreach($ dbh-> query($ sql)as $ row)」。我已經厭倦了許多其他方法來實現這個目標,但即使一字不差地從教程中複製也似乎不起作用。

+2

您不會將錯誤模式設置爲例外。試着這樣做,因爲我認爲你的查詢中可能有某種錯誤。 –

+0

[爲foreach()提供的無效參數的可能的重複)(http://stackoverflow.com/questions/7490577/invalid-argument-supplied-for-foreach) – Jocelyn

回答

5

變化

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

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

我不認爲你被允許在該領域的DSN空間。

+0

你一定是在跟我開玩笑,那是唯一的東西我沒想到會導致錯誤!感謝Cryptic – user1725794