PHP의 다른 클래스에서 MySQLi 사용: 자세한 분석
이 쿼리에서 사용자는 PHP에서 전환한 후 MySQL을 MySQLi로 업그레이드했습니다. 5.6에서 7.0. "다른 클래스에서 MySQLi 사용하기" 가이드를 따른 후, 다른 클래스에서 데이터베이스 연결에 접근하려고 할 때 내부 서버 오류 500이 발생했습니다.
오류를 이해하기 위해 사용자의 PHP 코드를 살펴보겠습니다. 여기에는 MySQLi 연결을 설정하기 위한 데이터베이스 클래스, 이 연결에 액세스하려고 시도하는 MyAPI 클래스, 실제 데이터베이스 쿼리를 수행하는 별도의 함수라는 세 가지 클래스가 있습니다.
오류 분석
이 문제는 코드의 몇 가지 근본적인 문제로 인해 발생합니다.
솔루션
이러한 문제를 해결하려면 다음 단계를 수행하는 것이 좋습니다.
향상된 PHP 코드는 다음과 같습니다. 예:
database.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>
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']);
이걸로 수정을 통해 사용자는 적절한 MySQLi 연결을 설정하고 다양한 클래스에서 데이터베이스 쿼리를 수행할 수 있어야 합니다.
위 내용은 PHP의 다른 클래스에서 MySQLi 데이터베이스 연결에 올바르게 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!