問題描述
我使用 PHP PDO 連接到我的數據庫并運行一些查詢,然后在某些表單上使用查詢返回.
I am using PHP PDO to connect to my database and run some querys to then use the query return on some forms.
也就是說,我有一個選擇,它由來自查詢的值填充.
That is, I have a select where it is populated by the values ??coming from the query.
我創建了兩個函數來連接數據庫和數據,但我想知道我是否可以創建一個全局變量,因為我使用的是New PDO".
I created two functions to connect to the database and data, but I wanted to know if I can create a global variable because I am using the "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) :-) 這是一個簡單的例子:
You could "share" the same database connection object (PDO) very simple in plain old procedural style :-) Here is a simple example:
// 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 并使用依賴注入.
If you prefer a more professional solution then take a look an PHP-DI and use dependency injection.
這篇關于PDO 全局實例 新的 PDO ,它可能嗎?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!