как использовать объект соединения PDO в разных файлах

Привет, я новичок в PDO с MYSQL, вот мои два файла: 1) index.php

require_once 'prd.php'; try{ $db = new PDO ('mysql:host=xxxx;dbname=xxx;charset=utf8', 'xxx', 'xxxx'); echo 'connectd'; }catch(PDOException $conError){ echo 'failed to connect DB' . $conError->getMessage (); } $conn = new prdinfo(); $conn->con($db); 

2) product.php

 class prdinfo{function con($db){ try{ foreach($db->query("select * from products where vendor_id = 2" ) as $row){ $prod_id = $row ['product_id']; echo '<br/>' . $prod_id; } }catch(PDOException $ex){ echo 'an error occured' . $ex->getMessage(); } } } 

моя проблема здесь, я могу передать объект подключения в каждый файл, но у меня так много файлов для использования запросов к базе данных, поэтому мне нужно передать $ bd ко всем файлам. это налагает нагрузку на код. так можно ли подключить базу данных к PDO. благодаря

Solutions Collecting From Web of "как использовать объект соединения PDO в разных файлах"

1) pdo.php, только три строки:

 <? $pdo = new PDO ('mysql:host=xxxx;dbname=xxx;charset=utf8', 'xxx', 'xxxx'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

2) product.php

 <?php class prdinfo{ function __construct($db) { $this->db = $db; } function getVendor($vendor) { $sql = "select * from products where vendor_id = ?"; $stm = $this->db->prepare($sql); $stm->execute(array($vendor)); return $stm->fetchAll(); } } - <?php class prdinfo{ function __construct($db) { $this->db = $db; } function getVendor($vendor) { $sql = "select * from products where vendor_id = ?"; $stm = $this->db->prepare($sql); $stm->execute(array($vendor)); return $stm->fetchAll(); } } 

3) index.php

 <?php require 'pdo.php'; require 'product.php'; $info = new prdinfo($pdo); $vendor = $info->getVendor(2); foreach ($vendor as $row) { echo $row['product_id']; } 

Самый простой способ сделать это – подключиться к базе данных в отдельном файле, таком как «database.php», и затем вы можете включить этот файл на каждую новую страницу, которую вы создаете … например, если вы создаете страницу типа «dothis.php », затем в верхней части страницы dothis.php напишите заявление include_once ('/path/to/your/file/database.php'); затем вы можете использовать свой объект $db во всем файле, где хотите.

Что вы можете сделать, так это создать файл PHP, скажем, «pdoconn.php». В этом файле подготовьте этот объект $db . Наконец, для каждого из ваших файлов PHP просто pdoconn.php . Таким образом, пока ваши файлы PHP загружаются, они сначала подключаются к MySQL и предоставляют вам объект $db .