집 >데이터 베이스 >MySQL 튜토리얼 >PHP의 별도 클래스에서 MySQLi 연결에 올바르게 액세스하려면 어떻게 해야 합니까?
PHP의 다른 클래스에서 MySQLi 사용
문제 설명:
질문에서 도움을 구합니다. 다른 클래스 내에서 별도의 클래스에 설정된 MySQLi 연결에 액세스할 때. 연결 속성이 있는 데이터베이스 클래스가 생성되고 API 클래스가 이 연결에 액세스하려고 시도합니다. 그러나 연결에 액세스하려고 시도하면 내부 서버 오류가 발생합니다.
정답:
잘못된 사례 및 권장 사항:
제공된 코드에는 문제를 일으키는 몇 가지 나쁜 관행이 포함되어 있습니다. 오류:
다음을 권장합니다. :
리팩토링됨 코드:
database.php:
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');
m yapi.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>
app.php:
<?php # require_once 'Database.php'; # require_once 'myapi.php'; require 'vendor/autoload.php'; // autoloading is essential $api = new MyAPI($db, $request_uri, $postData, $origin); $user = $api->getUser($_POST['id']);
작성자 이러한 권장 사항을 따르면 다른 클래스에서 오류 없이 효과적으로 MySQLi 연결에 액세스할 수 있습니다.
위 내용은 PHP의 별도 클래스에서 MySQLi 연결에 올바르게 액세스하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!