حسابداری هلو

اتصال به پایگاه داده در PHP

اتصال به پایگاه داده database connectivity یکی از مراحل مهم در توسعه وب است. با استفاده از PHP، می‌توان به پایگاه داده MySQL متصل شد و داده‌ها را ذخیره، بازیابی، ویرایش و حذف کرد. در این مقاله، نحوه اتصال به پایگاه داده در PHP را به روش‌های مختلف بررسی می‌کنیم.

فهرست مطالب

روش‌های اتصال به پایگاه داده در PHP

PHP دو روش اصلی برای اتصال به پایگاه داده MySQL ارائه می‌دهد:

  1. MySQLi (MySQL Improved): این روش یک افزونه برای PHP است که امکان اتصال به پایگاه داده MySQL را فراهم می‌کند. MySQLi هم به صورت شی‌گرا و هم به صورت رویه‌ای قابل استفاده است.
  2. PDO (PHP Data Objects): یک رابط عمومی برای دسترسی به پایگاه داده‌های مختلف است که از جمله MySQL، PostgreSQL، SQLite و … پشتیبانی می‌کند. PDO به صورت شی‌گرا طراحی شده و برای پایگاه داده‌های مختلف قابل استفاده است.

اتصال با استفاده از MySQLi

در این بخش، اتصال به پایگاه داده با استفاده از MySQLi به صورت رویه‌ای و شی‌گرا را بررسی می‌کنیم.

mysqli چیست

MySQLi (که مخفف MySQL Improved است) یک افزونه در PHP است که برای کار با پایگاه داده MySQL استفاده می‌شود. این افزونه بهبودهایی نسبت به افزونه قدیمی MySQL دارد و امکانات بیشتری برای ارتباط با MySQL فراهم می‌کند.

    1. اتصال به پایگاه داده با MySQLi به صورت رویه‌ای

    <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "itvisit_db";
    
    // ایجاد اتصال
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    
    // بررسی اتصال
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }
    echo "Connected successfully";
    ?>

    در مثال فوق، اتصال به پایگاه داده با استفاده از اطلاعات ورود (نام سرور، نام کاربری، رمز عبور، و نام پایگاه داده) انجام می‌شود.

    نکته : در PHP، تابع die (همچنین با نام exit نیز شناخته می‌شود) برای توقف اجرای اسکریپت در هر نقطه و با هر دلیلی استفاده می‌شود. معمولاً از این تابع برای خاتمه دادن به اسکریپت در صورت وقوع خطا یا شرایطی که نیاز به متوقف شدن فوری اسکریپت دارد، استفاده می‌شود.

    نکته مهم این است که می‌توانید یک پیغام اختیاری به تابع die یا exit بدهید که به خروجی فرستاده شود، و سپس اجرای اسکریپت متوقف می‌شود.

    2. اتصال به پایگاه داده با MySQLi به صورت شی‌گرا

    <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "itvisit_db";
    
    // ایجاد اتصال
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // بررسی اتصال
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    echo "Connected successfully";
    ?>

    در این روش، اتصال با استفاده از یک شی‌ء mysqli انجام می‌شود و می‌توان به راحتی داده‌ها را مدیریت کرد.

    اتصال با استفاده از PDO

    PDO یک روش شی‌گرا برای اتصال به پایگاه داده است که قابلیت استفاده برای پایگاه داده‌های مختلف را دارد.

    <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "itvisit_db";
    
    try {
        // ایجاد اتصال با استفاده از PDO
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        // تنظیم حالت خطا
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "Connected successfully";
    } catch (PDOException $e) {
        echo "Connection failed: " . $e->getMessage();
    }
    ?>

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

    دستورالعمل‌های عملی

    ایجاد پایگاه داده و جدول

    برای کار با پایگاه داده، ابتدا باید یک پایگاه داده و جدول ایجاد کنیم. برای مثال، پایگاه داده‌ای به نام itvisit_db و جدولی به نام users ایجاد می‌کنیم.

    CREATE DATABASE itvisit_db;
    
    USE itvisit_db;
    
    CREATE TABLE users (
        id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        firstname VARCHAR(30) NOT NULL,
        lastname VARCHAR(30) NOT NULL,
        email VARCHAR(50),
        reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    );

    ذخیره داده در پایگاه داده

    برای ذخیره اطلاعات کاربر در پایگاه داده، می‌توان از کد PHP زیر استفاده کرد:

    <?php
    $firstname = "Mehrdad";
    $lastname = "Yari";
    $email = "mehrdad@itvisit.ir";
    
    // SQL برای درج داده‌ها
    $sql = "INSERT INTO users (firstname, lastname, email) VALUES ('$firstname', '$lastname', '$email')";
    
    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
    ?>

    در این مثال، اطلاعات کاربر با استفاده از دستور INSERT INTO در جدول users ذخیره می‌شود.

    بازیابی داده‌ها از پایگاه داده

    برای نمایش داده‌های ذخیره‌شده، از کد زیر استفاده می‌کنیم:

    <?php
    $sql = "SELECT id, firstname, lastname, email FROM users";
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
        // نمایش داده‌ها
        while($row = $result->fetch_assoc()) {
            echo "ID: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. " - Email: " . $row["email"]. "<br>";
        }
    } else {
        echo "0 results";
    }
    ?>

    در این مثال، داده‌های جدول users بازیابی و نمایش داده می‌شوند.

    نکات امنیتی در اتصال به پایگاه داده

    • همیشه از Prepared Statements برای جلوگیری از SQL Injection استفاده کنید.
    • اطلاعات حساس مانند نام کاربری و رمز عبور پایگاه داده را در فایل‌های config یا متغیرهای محیطی ذخیره کنید.
    • به منظور افزایش امنیت، از PDO به جای MySQLi استفاده کنید زیرا پشتیبانی بهتری از Prepared Statements دارد.

    لینک‌های مطالعه پیشنهادی

    جمع‌بندی

    اتصال به پایگاه داده در PHP یکی از مراحل اساسی در توسعه وب است. با استفاده از MySQLi یا PDO می‌توان به راحتی داده‌ها را مدیریت کرد. انتخاب روش مناسب برای اتصال به پایگاه داده بستگی به نیاز پروژه و ملاحظات امنیتی دارد.

    مهرداد یاری

    Recent Posts

    افزودن عکس در پایگاه داده با PHP

    ذخیره و نمایش تصاویر و مدیا در پایگاه داده یکی از نیازهای رایج در پروژه‌های…

    3 هفته ago

    بررسی خطاهای کوئری‌ پایگاه داده در PHP

    هنگام کار با پایگاه داده در PHP، ممکن است خطاهایی ناشی از کوئری‌های ناقص یا…

    4 هفته ago

    آموزش ایجاد پایگاه داده در PHP

    ایجاد پایگاه داده در PHP یکی از مباحث اساسی برای ساخت وب‌سایت‌ها و برنامه‌های تحت…

    4 هفته ago

    کلاس‌ها در PHP به زبان ساده

    کلاس‌ها در PHP یکی از اصلی‌ترین مباحث برنامه‌نویسی شیءگرا (Object-Oriented Programming) هستند. با استفاده از…

    4 هفته ago

    آموزش try در PHP

    استفاده از ساختارهای کنترل خطا در برنامه‌نویسی از اهمیت ویژه‌ای برخوردار است. در زبان PHP،…

    1 ماه ago

    تفاوت‌های سشن و کوکی در PHP

    سشن‌ها (Sessions) و کوکی‌ها (Cookies) هر دو ابزارهایی هستند که برای ذخیره‌سازی داده‌ها و پیگیری…

    1 ماه ago