作爲一種便利,我通常在從dB查詢返回單個行時使用以下語法。我的IDE(NetBeans)不喜歡它,但它工作正常。任何人都可以告訴我,如果它不正確,如果是這樣,如果有一個整潔的方式比我顯示的明顯的選擇。這個PHP語法是否正確?
function select_row_from_database($id){
//$pdo is created etc
$stmt = $pdo->prepare('SELECT * FROM table WHERE id = ?');
$stmt->execute(array($id));
return $stmt->fetchAll()[0];
}
替代符號比NetBeans的喜歡:
function select_row_from_database($id){
//$pdo is created etc
$stmt = $pdo->prepare('SELECT * FROM table WHERE id = ?');
$stmt->execute(array($id));
$result = $stmt->fetchAll();
return $result[0]
}
由於我使用笨,我能夠與CI活動記錄要做到這一點(這或許表明了方便越好)
function select_row_from_database($id){
return $this->db->query('SELECT * FROM table WHERE id = ?',array($id))->result_array()[0];
}
替代品沒有討厭的紅色高光:
function select_row_from_database($id){
$result = $this->db->query('SELECT * FROM table WHERE id = ?',array($id))->result_array();
return $result[0];
}
函數數組解除引用'返回$ stmt->使用fetchall()[0];'在PHP 5.4.0引入 - http://php.net/manual/en/migration54.new-features.php – 2014-09-04 14:12:11
大感謝!清理起來 – 2014-09-04 14:55:04