道歉開放什麼應該被視爲一個非常基本的問題。請注意我已經使用mysql_query
方法編碼1000次,因此,我很難做出這個開關,但我終於做到了。從數據庫返回數組結果PDO
我的第一個問題
我的第一個問題來自於簡單地返回select語句
列表例子:我試圖執行:
$sql="Select *From members";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
$name = $row['name'];
}
我看了所以下面問題,並試圖實現沒有成功的答案,
PDO equivalent of mysql_fetch_array
translation mysql_fetch_array to PDO::FETCH_NUM
我現在應該是「最好的之一了2015/16」,書上說的關於上述問題
我再次嘗試從書中推薦沒有成功
<?php
$dsn ='mysql:localhost;dbname:myDB;';
$uname = 'root';
$pword = '';
$db = new PDO($dsn, $uname,$pword);
if($db){
echo'Success';
} else {
echo'error';
}
$sql="SELECT * from members";
$results = $db->query($sql);
foreach($results as $result) {
echo $result['name'];
}
上面的代碼給我的留言,「成功」這樣,我成功地連接到我的數據庫,但該查詢返回以下錯誤:
Invalid argument supplied for foreach()
我發現它極大地令人沮喪,我不得不通過這樣的長度只是爲了從簡單的select
聲明中返回結果,並且正在認真考慮回到舊的方式,現在我已經完成了我的任務,現在我轉向SO社區尋求幫助。任何幫助不勝感激。
'PDO :: query'返回一個[PDOStatement對象](http://php.net/manual/en/class.pdostatement.php),您可以使用它來「獲取」結果。 – apokryfos
@apokryfos好的,但爲什麼我的50美元的書給了我一個不同的例子...只是問? –
'PDOStatement實現Traversable',這意味着您可以通過foreach進行迭代,只要查詢有效。 – apokryfos