This question already has an answer here:
- Using PDO with other classes 2 answers
I trying to use $conn
variable into a class article.
I create a configuration.php file
cnfiguration.php
try {
$conn = new PDO('mysql:host='.$dbhost.';dbname='.$dbname, $user, $pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
I agree, it's a classic way to make a database connection.
I tried to use the $conn
variable into class as I said.
class.article.php
class Article {
global $conn;
public $article_id;
function setArticle($article_id) {
$this->article_id = $article_id;
}
function getArticle($article_id){
$getArticlee = $conn->prepare("SELECT * FROM articles WHERE id = :id");
$getArticlee->bindParam(':id', $article_id, PDO::PARAM_INT);
$getArticlee->execute();
return $getArticlee;
}
}
I requiring both files in executing file (show.article.php) by next order
- configuration.php
- class.article.php
After all of this I getting an error, an executing a show.article.php. When I remove
global $conn;
I don't have any error. But then I don't have an connecton to database.
I need some solution to include $conn
variable into a class, because this is just one class which one will need a database connection, I'll have about 10-15 class with a pdo connection.
</div>