2015-02-05 125 views
0

自從版本7.0以來,我使用的是NetBeans,而且它是我最喜歡的PHP for PHP,但今天我使用它作爲項目並在PDO代碼完成時給我提供了問題。 有兩種情況,NetBeans中的PDO代碼完成

1)如果我在同一頁面上實例化PDO對象,那麼所有的代碼完成都是正確的。

2)但是,當我保持我的PDO對象在另一個文件中,並要求該文件,比代碼完成不起作用。

1)

<?php 
/** 
* In this case the code completion works fine 
*/ 
try { 
    $db = new PDO('mysql:host=localhost;dbname=tshop', 'root', 'mypass'); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $sql = 'SOME SQL QUERY'; 
    $result = $db->query($sql); 
} catch (Exception $ex) { 
    $error = $ex->getMessage(); 
} 

<?php 
/** 
* But in this case it doesn't work 
*/ 
try { 
    require_once '../../includes/database_connection.php'; 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $sql = 'SOME SQL QUERY'; 
    $result = $db->query($sql); 
} catch (Exception $ex) { 
    $error = $ex->getMessage(); 
} 

謝謝大家提前!

回答

1

添加註釋應該可以解決我beleive問題:

try { 
    require_once '../../includes/database_connection.php'; 
    /* @var $db PDO */ 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $sql = 'SOME SQL QUERY'; 
    $result = $db->query($sql); 
} catch (Exception $ex) { 
    $error = $ex->getMessage(); 
} 

這就是說,如果我是你,我也不會去的方式建立數據庫連接,因爲如果你的arent小心,你可以很容易地有多個連接可能會超出最大連接數。

+0

@peodigitalson,兄弟不工作。我的NetBeans版本是8.0.2。 – Bangash 2015-02-05 21:28:09

+0

您最近添加了您要求的文件嗎?它也有可能是掃描儀jsut需要再次運行 – prodigitalson 2015-02-05 21:29:11

+1

實際上,從一開始我就需要那個database_connection.php,Example-1僅用於測試。我只是測試,如果我在同一頁面上實例化PDO對象,它將工作與否。我只是檢查它。 – Bangash 2015-02-05 21:31:01