[請益] PDO SELECT可否虛擬化?

作者: hjgx (純真打不贏奸巧)   2019-03-26 19:54:07
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 是否確實如此?還是我學藝不精?
作者: bibo9901 (function(){})()   2019-03-26 20:28:00
不就PDO::FETCH_NUM 或 PDO::FETCH_BOTH ?
作者: mackliu (回不去的大叔)   2019-03-26 23:36:00
你有試過PHP的fetchAll()嗎?
作者: tkdmaf (皮皮快跑)   2019-03-27 01:44:00
你所反觀的……是很糟的寫法好嗎?有意義的名稱勝於無意義的索引
作者: gpmm (銀色)   2019-03-27 08:30:00
看標題我就暈了…什麼是 PDO SELECT 虛擬化? @@
作者: shadowjohn (轉角遇到愛)   2019-03-27 08:55:00
是篇很虛擬化的文章呢...
作者: knives   2019-03-27 09:40:00
會覺得用索引比名稱好的,我無話可說
作者: my1938 (不知道該說什麼)   2019-03-27 09:49:00
紅明顯,用索引的話,如果程式多一點,哪天資料表結構有異動就準備改程式改到哭
作者: wsybu (%小步步%)   2019-03-27 10:58:00
工作用php..目前在學python..我反而python那樣用index取欄位讓我很頭痛
作者: MOONRAKER (㊣牛鶴鰻毛人)   2019-03-27 11:06:00
虛擬化咧 你是不是虛擬化周星馳
作者: knives   2019-03-27 14:42:00
to wsybu 你覺得用index很頭痛,有試著搜尋其他解法嗎比方 https://bit.ly/2TZpSB8 這種解法
作者: dalconan (寒江雪)   2019-03-27 21:55:00
因為你用了PDO::FETCH_ASSOC
作者: honestyer (誠實可靠小郎君)   2019-03-29 10:08:00
會感覺索引比名稱好..看來你還沒碰到大的案子
作者: tkdmaf (皮皮快跑)   2019-03-29 12:35:00
fetch_array和fetch_row被我長期封印中。然後一開始推文用手機,我其實是要按噓的
作者: bibo9901 (function(){})()   2019-03-29 23:44:00
不知道為什麼有什麼好噓的,是沒寫過可變動的欄位?
作者: tkdmaf (皮皮快跑)   2019-03-30 08:53:00
就噓他個觀念錯誤,讓他學習一下不行?然後可變動欄位只有用陣列索引才能做嗎?如果你敢在我的專案這樣寫我絕對把code刪掉
作者: dou0228 (7777)   2019-03-31 19:36:00
原來不給 column name 叫做 virtualization
作者: tkdmaf (皮皮快跑)   2019-03-31 23:52:00
樓上,他把「代表」跟「虛擬」二個詞給弄錯了……噓是因為現在只要回這個推文我就會給負值。
作者: hiigara (石頭)   2019-04-01 09:29:00
我是覺得不用那麼兇,PHP好的入門書已經不多了連討論板都這麼堅持的話,以後大家都去寫python了不過用數字取真的是比較危險,一來容易寫錯,二來如果有人alter table這段coded可能就爛了還很難追原因
作者: tkdmaf (皮皮快跑)   2019-04-01 09:55:00
正是因為不要這麼兇,所以工程師才害了自己等到真正出大事,可能還會覺得當初有人兇比較好。
作者: MOONRAKER (㊣牛鶴鰻毛人)   2019-04-01 14:48:00
有的時候問題還不是出在自己寫的程式 可能出在套件裡面
作者: bibo9901 (function(){})()   2019-04-03 02:58:00
phpmyadmin就有用MYSQLI_NUM啊https://tinyurl.com/y6xaa2g5magento2也有用PDO::FETCH_NUMhttps://tinyurl.com/y2fd2rmx人家只是問有什麼功能, 為什麼要像被戳到點一樣狂噓?把一點很容易避過的小坑當作洪水猛獸 非常可笑...
作者: tkdmaf (皮皮快跑)   2019-04-03 23:58:00
喜歡用你盡量用,沒人叫你不要用。
作者: ileadu (千慮一得)   2019-05-01 15:07:00
最後四個字,無誤(蓋章
作者: brt   2019-07-03 07:13:00
建議還是用個簡單的 orm

Links booklink

Contact Us: admin [ a t ] ucptt.com