السلام عليكم
كيف احصل على قيمة عنصر معين من الداتابيز
مثلا في حالتي اريد الحصول على قيمة admin_adminlte_theme_skin و account_activate_email
يمكنك إانشاء Class بسيط لادارة العمليات مع قاعدة البيانات :
<?php
class DB
{
private static $_instance = null;
private $_results = [];
private $_errors = [];
protected function __construct(array $connectionData)
{
try
{
$this->_pdo = new \PDO("mysql:host=" . $connectionData['host_name'] . ";dbname=" .
$connectionData['db_name'], $connectionData['db_user'], $connectionData['db_password']);
$this->_pdo->exec("set names " . 'utf8');
$this->_pdo->setAttribute( \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION );
} catch(\PDOException $e) {
die($e->getMessage());
}
}
public static function connect(array $connectionData)
{
if(!isset(self::$_instance)) {
self::$_instance = new DB($connectionData);
}
return self::$_instance;
}
public function query(string $sql, array $params = [])
{
$query = $this->_pdo->prepare($sql);
if(count($params)) {
$x = 1;
foreach($params as $param) {
// append values to sql statement
$query->bindValue($x, $param);
$x++;
}
}
if($query->execute()) {
$this->_sql = $query;
try
{
$this->_results = $query->fetchAll(PDO::FETCH_OBJ);
}
catch(\PDOException $e){
$this->_errors = [
'status' => false,
'message' => $e->getMessage()
];
}
} else {
$this->_errors = [
'status' => false,
'message' => 'Unable to execute query'
];
}
return $this;
}
public function hasError()
{
return count($this->_errors) ? true : false;
}
public function getError()
{
return $this->_errors['message'];
}
public function results()
{
return $this->_results;
}
}
طريقة الاستخدام :
$db = DB::connect([
'host_name' => '127.0.0.1',
'db_name' => 'database_name',
'db_user' => 'database_user',
'db_password' => 'database_user_password',
]);
$data = $db->query("SELECT `name`, `value` FROM `table_name` WHERE `id` in (54, 171) LIMIT 2");
if($data->hasError()) {
die($data->getError());
}
var_dump($data->results());
كما يمكنك الاستعانة بهذه المكتبة من برمجتي
التعليقات