2015年8月12日 星期三

[PHP] PDO操作(二)

這節介紹PDO->query

語法:
PDO->query(sql);
說明:
用來查詢資料,並返回結果(像是select操作)
實作:
可以使用這種方式
$stmt = $db->query($sql);
while($row = $stmt->fetch()){
print_r($row);
echo "<br />";
}
或是這種方式
$stmt = $db->query($sql);
foreach($stmt as $row){
print_r($row);
echo "<br />";
}



語法:
PDOStatement->fetch(mode)
說明:
PDO的fetch()方法用來獲取一行結果,相當於一般的mysql_fetch_array
實作:
$stmt = $db->query($sql);
while($row = $stmt->fetch()){
print_r($row);
echo "<br />";
}



mode為可選參數
PDO::FETCH_ASSOC  [以索引組成(陣列型態)]
ex:
[Flag] => 1
[Name] => John

PDO::FETCH_NUM  [以數字索引組成(陣列型態)]
ex:
[0] => 1
[1] => John

PDO::FETCH_BOTH  [預設值:索引跟數字索引都有(陣列型態)]
ex:
[Flag] => 1
[0] => 1
[Name] => John
[1] => John

PDO::FETCH_OBJ  [以索引組成(物件型態)]
PDO::FETCH_BOUND  [透過bindColumn()的方法將列的值列在變數上]
PDO::FETCH_CLASS  [不知]
PDO::FETCH_INTO  [不知]
PDO::FETCH_LAZY  [不知]


語法:
PDOStatement->setFetchMode()
說明:
如果不在fetch()中指定返回結果類型
實作:
$stmt = $db->query($sql);
$stmt->setFetchMode(mode);
while($row = $stmt->fetch()){
print_r($row);
echo "<br />";
}



語法:
PDOStatement->fetchAll(mod,[int column_index])
說明:
fetchAll()用來把資料一次取出並存放到陣列中
mode為可選參數如下:
PDO::FETCH_COLUMN  [指定返回某一列,有column_index參數指定]
PDO::FETCH_UNIQUE  [不知]
PDO::FETCH_GROUP  [不知]

沒有留言:

張貼留言