[英]using PDO object for a Select query
我是PDO的初學者。 我正在按照教程學習PDO。 我想使用一個簡單的select語句來獲取用戶ID。
但是當我運行index.php
它不顯示任何echo
! 我哪里錯了?
我有四個文件:
config =>設置用戶名和密碼...
DB_Connect:
class DB_Connect {
// constructor
function __construct() {
}
// destructor
function __destruct() {
// $this->close();
}
// Connecting to database
public function connect() {
require_once 'include/config.php';
try {
$hostname = DB_HOST ;
$dbname = DB_DATABASE;
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", DB_USER, DB_PASSWORD);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
return $dbh;
}
}
DB_Functions:
class DB_Functions {
private $db;
//put your code here
// constructor
function __construct() {
require_once 'DB_Connect.php';
// connecting to database
$this->db = new DB_Connect();
$this->db->connect();
}
// destructor
function __destruct() {
}
function getUsers(){
$sql = "SELECT * FROM users";
foreach ($this->$db->query($sql) as $row)
{
echo $row->id;
}
/*** close the database connection ***/
// $db = null;
}
}
的index.php
<?php
require_once 'include/DB_Functions.php';
$qr = new DB_Functions();
$qr->getUsers();
?>
db_connect
class DB_Connect {
public $dbh;
// constructor
function __construct() {
}
// destructor
function __destruct() {
// $this->close();
}
// Connecting to database
public function connect() {
require_once 'include/config.php';
try {
$hostname = DB_HOST ;
$dbname = DB_DATABASE;
$this->dbh = new PDO("mysql:host=$hostname;dbname=$dbname", DB_USER, DB_PASSWORD);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
}
db_functions
class DB_Functions {
private $db;
//put your code here
// constructor
function __construct() {
require_once 'DB_Connect.php';
// connecting to database
$this->db = new DB_Connect();
$this->db->connect();
}
// destructor
function __destruct() {
}
function getUsers(){
$sql = "SELECT * FROM users";
foreach ($this->db->dbh->query($sql) as $row)
{
echo $row->id;
}
/*** close the database connection ***/
// $db = null;
}
}
您沒有數據庫連接,因為您現在正在將PDO連接分配給變量。 因此,其余腳本無法訪問您的連接。 至少,這就是我目前的想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.