2014-09-04 126 views
0

作爲一種便利,我通常在從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]; 
} 
+0

函數數組解除引用'返回$ stmt->使用fetchall()[0];'在PHP 5.4.0引入 - http://php.net/manual/en/migration54.new-features.php – 2014-09-04 14:12:11

+0

大感謝!清理起來 – 2014-09-04 14:55:04

回答

1

Netbeans正式支持5.4功能。

如圖here

注意:所有的PHP 5.4功能讓您在項目設置項目屬性後 - >來源 - > PHP版本到PHP 5.4的值,或在選擇相同的值後一個PHP項目創建(在新建項目嚮導中)。

請注意,這可用於NetBeans IDE for PHP 7.3 + only

+0

謝謝,非常有幫助 – 2014-09-04 14:55:49

0

你試圖做的是稱爲數組解引用,它是PHP 5.4中的新功能。這可能是爲什麼netbeans不喜歡它,但它應該工作,如果你使用PHP 5.4或更新版本。你可以閱讀這裏的新功能http://php.net/manual/en/migration54.new-features.php

+0

非常感謝 – 2014-09-04 14:56:13