比方說我有這個疑問:是有可能的變量值添加到選擇查詢結果PHP PDO
$stmt = $con->_con->prepare("Select id from table", array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
while ($selected_row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$rows[] = array_map('utf8_encode', $selected_row);
}
由此我得到:
[{
"id": "000060000000000071964708\/17\/201309:55:00"
}]
而且我想補充的另一個關鍵值對像:
[{
"id": "000060000000000071964708\/17\/201309:55:00",
"column": "code1"
}]
從結果我想補充的一個關鍵column
與價值code1
這個VA lue是動態的,我想通過選擇查詢之外的條件來設置它。 我試過手動添加列在while循環一樣:
while ($selected_row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$rows[] = array_map('utf8_encode', $selected_row);
array_push($rows, array('column' => $column));
}
凡$column = 'code1'
這取決於一個條件。但它給我的結果:
[{
"id": "000060000000000071964708\/17\/201309:55:00"
}, {
"column": "code1"
}]
這是不是期望output.Also試圖做Select id,column AS 'code1'...
,我嘗試手動把密鑰對值返回爲選擇查詢的一部分,但它失敗,給錯誤在AS .....
。
如何從示例中獲得所需的輸出? 我打開其他的解決方案,比我心目中
我想澄清這是最好的解決方案?第一個還是第二個? – Martin
我個人更喜歡在'SELECT'中添加'code1',因爲你將它當作查詢結果的一部分。它爲數據庫查詢增加了很少的開銷。將值添加到輸出數組後,可能會在稍後追溯並忘記它來自哪裏時使其起源不太清晰。但另一方面,也許有一天有人會查看數據庫源表,並對該列不存在的原因感到困惑。這兩種解決方案都沒有明顯的優勢,但是我發現了'SELECT'整理器。如果需要,可以使用它在應用程序代碼外複製SQL中相同的查詢結果。 –
非常感謝解釋快樂編碼隊友:) – Martin