加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – PDO全球实例新PDO,它可能吗?

发布时间:2021-07-06 05:23:09 所属栏目:大数据 来源: https://www.jb51.cc
导读:我正在使用PHP PDO连接到我的数据库并运行一些查询,然后在某些表单上使用查询返回. 也就是说,我有一个选择,它由来自查询的值填充. 我创建了两个连接数据库和数据的函数,但我想知道是否可以创建一个全局变量,因为我使用的是“New PDO”. /** Conecta com as i

我正在使用PHP PDO连接到我的数据库并运行一些查询,然后在某些表单上使用查询返回.

也就是说,我有一个选择,它由来自查询的值填充.

我创建了两个连接数据库和数据的函数,但我想知道是否可以创建一个全局变量,因为我使用的是“New PDO”.

/** Conecta com as impressas **/
function impressoras()
{       
    $PDO2 = new PDO('MysqL:host=localhost;dbname=ti','root','xxx');
    $PDO2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    global $stmt;
    $stmt = $PDO2->prepare("SELECT * FROM league");
    $stmt->execute();
    $result = $stmt->fetchAll();
    return $result; 
    echo json_encode($user_arr);    
}
function carrefour()
{
    $PDO3 = new 
    PDO('MysqL:host=localhost;dbname=ti','root','xxx');
    $PDO3->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    global $stmt;
    $stmt = $PDO3->prepare("SELECT * FROM lol");
    $stmt->execute();
    $result = $stmt->fetchAll();
    return $result;     
    echo json_encode($user_arr);    
}

解决方法:

你可以用简单的旧程序风格“共享”相同的数据库连接对象(PDO):-)这是一个简单的例子:

// config.PHP
define('DB_DSN', 'MysqL:host=127.0.0.1;dbname=test;charset=utf8');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');

// database.PHP
function db()
{
    static $db = null;
    if ($db === null) {
        $db = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD, array(
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_PERSISTENT => false,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::MysqL_ATTR_INIT_COMMAND => "SET NAMES utf8 COLLATE utf8_unicode_ci"
        ));
    }
    return $db;
}

用法

function test1()
{       
    $pdo = db();
    $stmt = $pdo->prepare("SELECT * FROM league");
    $stmt->execute();
    $result = $stmt->fetchAll();
    return $result;     
}

如果您更喜欢更专业的解决方案,那么请查看PHP-DI并使用依赖注入.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读