السلام عليكم
كيف احصل على قيمة عنصر معين من الداتابيز
مثلا في حالتي اريد الحصول على قيمة admin_adminlte_theme_skin و account_activate_email
عليك بدراسة PHP PDO حتى تستطيع جلب البيانات من قاعدة البيانات بال PHP.
من هنا ستجد دورة في غاية البساطة تشرح لك ذلك من الصفر:
ألا يمكن الحصول عليها بدون PDO
من الممكن إستعمال mysqli لكن PDO تزيد في حماية تطبيقك..
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $tablename = "myTable"; $conn = new mysqli($servername, $username, $password, $dbname); $conn->connect_error and die("Connection failed: " . $conn->connect_error); $sql = "SELECT name,value FROM $tablename WHERE name='account_activate_email' OR name='admin_adminlte_theme_skin' LIMIT 2"; $result = $conn->query($sql); $output = []; if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $output[$row['name']] = $row['value']; } } $conn->close(); echo 'account_activate_email = ' . $output['account_activate_email'] . '<br>'; echo 'admin_adminlte_theme_skin = ' . $output['admin_adminlte_theme_skin'] . '<br>'; ?>
شكرا لك
اليك هذا الرابط :
يمكنك إانشاء 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());
كما يمكنك الاستعانة بهذه المكتبة من برمجتي
مجتمع لمناقشة وتبادل الخبرات حول تطوير الويب. ناقش أحدث التقنيات، اللغات، والأدوات في عالم تطوير المواقع والتطبيقات. شارك مشاريعك، اسأل عن نصائح، وتعاون مع مطورين محترفين وهواة.
صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.