PHP 마이크로서비스에서 데이터베이스 연결 및 쿼리를 관리하는 방법
PHP 마이크로서비스를 개발할 때 데이터베이스 연결 및 쿼리는 매우 중요한 부분입니다. 데이터베이스 연결 및 쿼리를 적절하게 관리하면 코드 유지 관리성과 성능이 향상될 수 있습니다. 이 문서에서는 PHP 마이크로서비스에서 데이터베이스 연결 및 쿼리를 올바르게 관리하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
다음은 PDO를 사용하여 MySQL 데이터베이스에 연결하는 예입니다.
$dsn = 'mysql:host=localhost;dbname=test;charset=utf8'; $username = 'root'; $password = ''; try { $db = new PDO($dsn, $username, $password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo '连接数据库失败:' . $e->getMessage(); }
다음은 간단한 데이터베이스 연결 싱글톤 예입니다.
class Database { private static $instance; private $db; private function __construct() { $dsn = 'mysql:host=localhost;dbname=test;charset=utf8'; $username = 'root'; $password = ''; try { $this->db = new PDO($dsn, $username, $password); $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo '连接数据库失败:' . $e->getMessage(); } } public static function getInstance() { if (!self::$instance) { self::$instance = new self(); } return self::$instance; } public function getDB() { return $this->db; } } // 使用方式 $db = Database::getInstance()->getDB();
다음은 PDO 준비된 문을 사용하여 쿼리를 실행하는 예입니다.
$username = 'admin'; $password = '123456'; // 预处理语句 $stmt = $db->prepare('SELECT * FROM users WHERE username = :username AND password = :password'); $stmt->bindParam(':username', $username); $stmt->bindParam(':password', $password); // 执行查询 $stmt->execute(); // 获取查询结果 $result = $stmt->fetchAll(PDO::FETCH_ASSOC); // 处理查询结果 foreach ($result as $row) { // ... }
요약하자면, 데이터베이스 연결 및 쿼리를 올바르게 관리하는 것은 PHP 마이크로서비스 개발에 매우 중요합니다. PDO 확장을 사용하여 데이터베이스에 연결하고 싱글톤 패턴을 사용하여 데이터베이스 연결을 관리하면 코드의 유지 관리성과 성능이 향상될 수 있습니다. 동시에 준비된 문을 사용하여 쿼리를 실행하면 SQL 삽입 공격을 효과적으로 방지하고 쿼리 성능을 향상시킬 수 있습니다. 이 기사가 PHP 마이크로서비스에서 데이터베이스 연결 및 쿼리를 더 잘 관리하는 데 도움이 되기를 바랍니다.
위 샘플 코드는 데모용이므로 실제 개발 시 구체적인 상황에 맞게 조정하고 최적화하시기 바랍니다.
위 내용은 PHP 마이크로서비스에서 데이터베이스 연결 및 쿼리를 관리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!