NetBeans中的PDO代码完成

时间:2015-02-05 20:55:30

标签: php mysql netbeans pdo code-completion

我从7.0版本开始使用NetBeans,而且它是我最喜欢的PHP IDE,但今天我用它来做项目,它给我带来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();
}

2

<?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 个答案:

答案 0 :(得分:1)

添加评论应该可以解决我相信的问题:

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();
}

如果我是这样说的话,我不打算在路上建立数据库连接,因为如果你不小心,很容易就会有多个连接偶然发生,这可能会超过最大连接数。