作者hjgx (妳害了我的狗)
看板PHP
標題[請益] PDO SELECT可否虛擬化?
時間Tue Mar 26 19:54:07 2019
public function getAll($table) {
$stmt = $this->pdo->query('SELECT * '.'FROM '.$table );
$recs = [];
while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) {
$recs[] = [
'id' => $row['id'],
'name' => $row['name'],
'score'=> $row['score']
];
}
return $recs;
}
PHP 的column name都要寫明 不能虛擬化。
反觀python 超虛擬的:
def getAll(table):
cur.execute("SELECT * from "+table)
rows = cur.fetchall()
for row in rows:
print row[0]
print " ", row[1]
print " ", row[2]
PHP 是否確實如此?還是我學藝不精?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.121.27
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1553601253.A.FBE.html
1F:→ bibo9901: 不就PDO::FETCH_NUM 或 PDO::FETCH_BOTH ? 03/26 20:28
2F:→ mackliu: 你有試過PHP的fetchAll()嗎? 03/26 23:36
3F:推 tkdmaf: 你所反觀的……是很糟的寫法好嗎?有意義的名稱勝於無意義 03/27 01:44
4F:→ tkdmaf: 的索引 03/27 01:44
5F:推 gpmm: 看標題我就暈了…什麼是 PDO SELECT 虛擬化? @@ 03/27 08:30
6F:→ shadowjohn: 是篇很虛擬化的文章呢... 03/27 08:55
7F:噓 knives: 會覺得用索引比名稱好的,我無話可說 03/27 09:40
8F:噓 my1938: 紅明顯,用索引的話,如果程式多一點,哪天資料表結構有 03/27 09:49
9F:→ my1938: 異動就準備改程式改到哭 03/27 09:49
10F:推 wsybu: 工作用php..目前在學python..我反而python那樣用index取 03/27 10:58
11F:→ wsybu: 欄位讓我很頭痛 03/27 10:58
※ 編輯: hjgx (114.32.121.27), 03/27/2019 11:01:33
12F:→ MOONRAKER: 虛擬化咧 你是不是虛擬化周星馳 03/27 11:06
13F:→ knives: to wsybu 你覺得用index很頭痛,有試著搜尋其他解法嗎 03/27 14:42
15F:推 dalconan: 因為你用了PDO::FETCH_ASSOC 03/27 21:55
16F:噓 honestyer: 會感覺索引比名稱好..看來你還沒碰到大的案子 03/29 10:08
17F:→ tkdmaf: fetch_array和fetch_row被我長期封印中。 03/29 12:35
18F:→ tkdmaf: 然後一開始推文用手機,我其實是要按噓的 03/29 12:36
19F:推 bibo9901: 不知道為什麼有什麼好噓的,是沒寫過可變動的欄位? 03/29 23:44
20F:噓 tkdmaf: 就噓他個觀念錯誤,讓他學習一下不行?然後可變動欄位只 03/30 08:53
21F:→ tkdmaf: 有用陣列索引才能做嗎?如果你敢在我的專案這樣寫我絕對 03/30 08:53
22F:→ tkdmaf: 把code刪掉 03/30 08:53
23F:推 dou0228: 原來不給 column name 叫做 virtualization 03/31 19:36
24F:噓 tkdmaf: 樓上,他把「代表」跟「虛擬」二個詞給弄錯了…… 03/31 23:52
25F:→ tkdmaf: 噓是因為現在只要回這個推文我就會給負值。 03/31 23:53
26F:推 hiigara: 我是覺得不用那麼兇,PHP好的入門書已經不多了 04/01 09:29
27F:→ hiigara: 連討論板都這麼堅持的話,以後大家都去寫python了 04/01 09:30
28F:推 hiigara: 不過用數字取真的是比較危險,一來容易寫錯,二來如果 04/01 09:34
29F:→ hiigara: 有人alter table這段coded可能就爛了還很難追原因 04/01 09:34
30F:噓 tkdmaf: 正是因為不要這麼兇,所以工程師才害了自己 04/01 09:55
31F:噓 tkdmaf: 等到真正出大事,可能還會覺得當初有人兇比較好。 04/01 09:57
32F:→ MOONRAKER: 有的時候問題還不是出在自己寫的程式 可能出在套件裡面 04/01 14:48
33F:→ bibo9901: phpmyadmin就有用MYSQLI_NUM啊 04/03 02:58
35F:→ bibo9901: magento2也有用PDO::FETCH_NUM 04/03 03:16
37F:→ bibo9901: 人家只是問有什麼功能, 為什麼要像被戳到點一樣狂噓? 04/03 03:17
38F:→ bibo9901: 把一點很容易避過的小坑當作洪水猛獸 非常可笑... 04/03 03:19
39F:噓 tkdmaf: 喜歡用你盡量用,沒人叫你不要用。 04/03 23:58
40F:→ ileadu: 最後四個字,無誤(蓋章 05/01 15:07
是 小弟受教
※ 編輯: hjgx (114.32.121.27), 05/11/2019 23:22:45
41F:推 brt: 建議還是用個簡單的 orm 07/03 07:13