2015-02-05 134 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