اتصال به دیتابیس MySQL در برنامه‌های PHP


برای اتصال به دیتابیس MySQL، در ابتدا باید اکستنشن mysqli را در PHP نصب کنید. پس از آن، کافیست تا اطلاعات مربوط به دیتابیس خود را به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال:

کپی
DB_HOST=annapurna.liara.cloud
DB_PORT=34663
DB_DATABASE=dreamy_zhukovsky
DB_USERNAME=root
DB_PASSWORD=Umtdo7rWEoEMyWth4nS1sf4t

اکنون، می‌توانید با استفاده از قطعه کد زیر به دیتابیس MySQL خود متصل شوید:

کپی
<?php
$servername = getenv('DB_HOST');
$port = getenv('DB_PORT'); 
$username = getenv('DB_USERNAME'); 
$password = getenv('DB_PASSWORD'); 
$database = getenv('DB_DATABASE'); 

$conn = new mysqli($servername, $username, $password, $database, $port);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} else {
    echo "Connected";}

$conn->close();
?> 

استفاده از Connection Pooling

مفهوم Connection pooling به معنای استفاده از یک مجموعه اتصالات از پیش ساخته شده برای اتصال به پایگاه داده است. این تکنیک باعث می‌شود به جای ایجاد و بستن مکرر اتصالات، از اتصالات موجود در مجموعه استفاده شود که کارایی را افزایش می‌دهد.

برای استفاده از قابلیت connection pooling در دیتابیس MySQL، می‌توانید مانند قطعه کد زیر، از اکستنشن PDO استفاده کنید:

کپی
<?php

$servername = getenv('DB_HOST');
$port = getenv('DB_PORT'); 
$database = getenv('DB_DATABASE'); 

$dsn = "mysql:host=$servername; port=$port; dbname=$database";
$username = getenv('DB_USERNAME');
$password = getenv('DB_PASSWORD'); 

try {
    
    $pdo = new PDO($dsn, $username, $password, [
        PDO::ATTR_PERSISTENT => true
    ]);

    echo "connection successfull.";
} catch (PDOException $e) {
    echo 'connection failed: ' . $e->getMessage();
}