在PHP函数内部进行PDO查询

时间:2017-06-15 02:24:44

标签: php mysql pdo

我有一个名为.php的{​​{1}}文件,我必须插入函数,例如我有一个名为functions.php的函数连接到我的数据库。

db_connect

被调用的页面:

function db_connect()
{
    $PDO = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=utf8', DB_USER, DB_PASS);
    $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    return $PDO;
}

function Test($db)
{
    $result = false;
    $query = $db->prepare("SELECT * FROM impressoras");
    $query->execute();
    #Iterate
    while($row = $query->fetch(PDO::FETCH_ASSOC)) {
        $result[] = $row;
    }

    return $result;
}

但这不起作用,有人可以帮助我吗?这似乎是错误500。

1 个答案:

答案 0 :(得分:0)

尽量远离GLOBALS,而是注入数据库。

(16, 400)
(16, 600)
(16, 800)
(16, 1000)
(16, 1200)

以下是我的奇怪示例:

function db_connect()
    {
        $PDO = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME .   ';charset=utf8', DB_USER, DB_PASS);
        $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $PDO;
    }

function Test($db)
    {
        $result = false;
        $query = $db->prepare("SELECT * FROM impressoras");
        $query->execute();
        # Iterate
        while($row = $query->fetch(PDO::FETCH_ASSOC)) {
            $result[] = $row;
        }

        return $result;
    }

您可能希望在# Create connection $con = db_connect(); # Inject print_r(Test($con)); 函数中执行其他操作,但想法是要注入数据库连接,这样就可以将相同的连接注入到任何函数中页面。