Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP में किसी अन्य वर्ग से MySQLi का उपयोग करना

ऐसी कई गलत प्रथाएं हैं जिनके कारण आपको यह त्रुटि हुई है।

स्पष्ट रूप से, उपयोगकर्ता को डेटाबेस से विस्तारित करना एक गलत कदम है। साथ ही, संपूर्ण डेटाबेस वर्ग बेकार है क्योंकि यह कुछ भी उपयोगी नहीं करता है।

इसलिए मैं

. को सुझाव दूंगा
  • बेकार डेटाबेस वर्ग से छुटकारा पाएं।
  • एक एकल बनाएं वेनिला mysqli से $db उदाहरण।
  • इसे हर उस वर्ग में एक कंस्ट्रक्टर पैरामीटर के रूप में पास करें जिसे डेटाबेस कनेक्शन की आवश्यकता है

डेटाबेस.php:

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB");
$db->set_charset('utf8mb4');

myapi.php

<?php
class MyAPI
{
    protected $db;

    public function __construct($db, $request_uri, $postData, $origin)
    {
        $this->db = $db;
    }

    public function getUser($id)
    {
        $sql = "SELECT * FROM users where id=?";
        $stmt = $this->db->prepate($sql);
        $stmt->bind_param("s", $id);
        $stmt->execute();
        $result = $stmt->get_result();
        return $result->fetch_assoc();
    }
}

app.php

<?php
# require_once 'Database.php';
# require_once 'myapi.php';
require 'vendor/autoload.php'; // autoloading is a must

$api = new MyAPI($db, $request_uri, $postData, $origin);
$user = $api->getUser($_POST['id']);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी MySQL में डेटाबेस को हटाने के लिए

  2. PHP के साथ MySQL के लिए उपयोग करने के लिए सबसे अच्छा संयोजन क्या है?

  3. समर्पित सर्वर पर MySQL ट्यूनिंग की मूल बातें

  4. MySQL क्विक टिप:LENGTH और TRIM फंक्शन का उपयोग करना

  5. PHP का उपयोग कर सर्वर पर छवि अपलोड करते समय अन्य जानकारी के साथ डेटाबेस में फ़ाइल नाम कैसे स्टोर करें?