دریافت اطلاعات از دیتابیس در PHP – کامل ترین آموزش دیتابیس پی اچ پی

دریافت اطلاعات از دیتابیس در PHP – کامل ترین آموزش دیتابیس پی اچ پی

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۱۳ تیر ۱۴۰۳
آخرین بروزرسانی: ۱۹ تیر ۱۴۰۳
زمان مطالعه: 25 دقیقه
۳.۷
(۳)

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

معرفی مفاهیم پایگاه داده ها

پایگاه داده یا همان دیتابیس به مجموعه‌ای از داده‌های سازمان‌یافته و مرتب گفته می‌شود. که به صورت الکترونیکی داخل سیستم‌های کامپیوتری ذخیره می‌شود. برای ذخیره کردن این دیتای بزرگ، سیستم‌های مدیریت پایگاه داده وجود دارند. که کار ذخیره‌سازی، تحلیل و فراخوانی داده‌ها را تا حدود زیادی آسان‌تر می‌کنند. شاید برای نرم‌افزارها و اپلیکیشن‌های ساده نیازی به دیتابیس احساس نشود اما اهمیت پایگاه داده زمانی مشخص خواهد شد که کار کمی پیچیده شده و نیاز به ذخیره‌سازی و خواندن دیتا در حجم بالایی است. 

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

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

در این آموزش تمرکز ما روی دیتابیس پیش‌فرض وردپرس یعنی MySQL است که با نصب XAMPP به صورت کامل روی سیستم محلی‌تان نصب و اجرا خواهد شد. در این بخش بهتر است با چند مفهوم کلی در دنیای دیتابیس‌ها آشنا شویم:

سیستم مدیریت پایگاه داده

سیستم‌های مدیریت پایگاه داده با DBMS – Database Management System مشخص می‌شوند. در دنیای فناوری چندین DBMS معروف وجود دارد که به دو بخش کلی SQL و NoSQL تقسیم‌بندی می‌شوند. هر یک از این سیستم‌ها دارای مزایا و معایبی هستند که یکی از محبوب‌ترین این DBMSها MySQL است. از دیگر سیستم‌ها می‌توان PostGreSQL و مایکروسافت SQL Server را نام برد. همچنین، MongoDB یکی از محبوب‌ترین و پیشرفته‌ترین پایگاه‌های دیتا در دسته NoSQL است.

کوئری

کوئری دیتابیس به دستوراتی گفته می‌شود که برای اعمال یک کار خاص روی پایگاه داده به کار می‌رود. کوئری تقریبا شبیه تکه کدهای برنامه‌نویسی است که در زبان‌هایی مانند جاوا اسکریپت یا پایتون از آن‌ها استفاده می‌کنید. با این حال، تفاوت‌هایی در سینتکس و نحوه نوشتن وجود دارد. 

برای خواندن دیتا از جداول یا نوشتن داده در آن‌ها نیاز است تا از کوئری‌ های دیتابیس استفاده شود. در مورد دریافت اطلاعات از دیتابیس در PHP نیز به این کوئری‌ ها نیاز داریم.

جدول 

یک پایگاه داده SQL که MySQL نیز جزو آن‌ها است، در جداول متعدد دیتا را ساختاربندی و ذخیره می‌کند. بنابراین، شما برای هر بخش از دیتای خود باید جدولی را ساخته و درون آن ردیف‌هایی را تعریف کنید. البته، در دیتابیس‌های NoSQL، این جداول معمولا به صورت تکه‌های دیتا هستند که کالکشن نیز نامیده می‌شوند. هر کالکشن دارای مشخصات مختص به خود است و در این کالکشن‌ها می‌توانید دیتای مورد نظر را ذخیره‌سازی کنید. 

رکوردها و فیلدها

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

ایندکس

ایندکس ساختاری است که به جداول و دیتای آن اختصاص داده می‌شود تا با استفاده از آن بتوان عملیات جستجو را به صورت بهینه و سریع انجام داد. شاید استفاده از ایندکس‌ها در جداول کوچک و معمولی زیاد اهمیت نداشته باشد اما مزیت ایندکس‌ها زمانی مشخص خواهد شد که با جداول پیچیده و تودرتو سروکار داریم. 

کلیدها در تمامی دیتابیس‌ها وجود دارند اما تفاوت در نوع تعریف و استفاده از آن‌ها است. کلیدها در جداول تعریف می‌شوند و در شرایط مختلف به تحلیل، نوشتن و خواندن بهتر دیتا در جداول کمک می‌کنند. زمانی که نیاز به ایجاد ارتباط بین جداول مختلف احساس می‌شود، نیاز است تا کلیدهایی را تعریف کرده و از آن‌ها استفاده کنید.  

اتصال به دیتابیس در PHP

پس از نصب وب‌سرور و فایل‌های مرتبط با دیتابیس روی سیستم محلی، اتصال به پایگاه داده زمان زیادی از شما نخواهد گرفت. اگر XAMPP را نصب کرده باشید، این کار در یک چشم به‌هم‌زدن امکان‌پذیر است و با کلیک روی دیتابیس MySQL، این دیتابیس روی سیستم شما فعال خواهد شد. 

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

صفحه XAMPP به صورت زیر است:

 

اتصال به دیتابیس در PHP - XAMPP

 

پس از کلیک روی استارت، Apache وب‌سرور و پایگاه دیتای MySQL برایتان روی پورت‌های اختصاصی و پیش‌فرض فعال خواهند شد.

 

اتصال به دیتابیس در PHP - MySQL

 

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

 

<?php

   $servername = "localhost";
   $username = "root";
   $password = "";
   $dbname = "test";
     
   // connect to the test database in php
   $connect = new mysqli($servername, $username, $password, $dbname);
     

   ?>

 

کد پی‌اچ‌پی به صورت زیر است. دقت داشته باشید که برای استفاده از تابع mysqli که برای اتصال به MySQL در PHP به کار می‌رود، نیاز به تعریف بعضی از پارامترها است. این پارامترها، نام سرور، نام کاربری، رمز عبور و نام دیتابیس مربوطه هستند. پس از اتصال، می‌توانید عملیات دریافت اطلاعات از دیتابیس در PHP را ادامه دهید. 

 

اتصال به دیتابیس در PHP - MySQL

 

دریافت اطلاعات از دیتابیس در PHP

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

ابتدا صفحه مدیریتی XAMPP را باز کنید:

 

دریافت اطلاعات از دیتابیس در PHP

 

در صفحه مدیریتی، روی کلیدهای استارت کلیک کنید تا وب‌سرور و دیتابیس فعال شوند. درصورت نبود مشکل، پورت‌ها و PID به‌درستی نمایش داده می‌شود:

 

دریافت اطلاعات از دیتابیس در PHP

 

پورت‌های وب‌سرور و دیتابیس به‌صورت زیر هستند:

 

دریافت اطلاعات از دیتابیس در PHP - Web Server

 

در این مرحله روی کلید Admin کلیک کنید. تا به صفحه مدیریتی وب هدایت شوید:

 

دریافت اطلاعات از دیتابیس در PHP - Web Server

 

در این صفحه، در قسمت بالا روی گزینه phpmyadmin کلیک کنید تا به صفحه مدیریت دیتابیس هدایت شوید:

 

صفحه مدیریت دیتابیس

 

صفحه مدیریت دیتابیس به‌صورت زیر باید برای شما اجرا شود:

 

صفحه مدیریت دیتابیس php my Admin

 

در این بخش نیاز است تا یک دیتابیس جدید ایجاد کنیم و با اجرای یک کوئری، جدولی را در آن بسازیم. برای ایجاد دیتابیس جدید، روی کلید new در قسمت چپ کلیک کنید:

 

ایجاد دیتابیس جدید php my Admin

 

در صفحه جدید برای دیتابیس یک نام انتخاب کرده و روی کلید create فشار دهید:

 

ایجاد دیتابیس جدید php my Admin

 

اکنون، روی دیتابیس کلیک کرده و به تب sql بروید. تا با اجرای کوئری موردنظر یک جدول در این دیتابیس ایجاد کنیم:

 

ایجاد دیتابیس sql

 

کوئری موردنیاز برای ایجاد یک جدول با نام student که دارای سه ردیف است، به‌صورت زیر خواهد بود:

 

CREATE TABLE student
(    
    name varchar(20), 
    branch_number varchar(20),
    student_code INT
);

 

ایجاد جدول در دیتابیس

 

اکنون می‌توانید روی کلید go در قسمت پایین سمت راست صفحه کلیک کنید تا جدول در دیتابیس ایجاد شود. 

 

ایجاد جدول SQL

 

درصورت نبود مشکل، جدول به‌صورت زیر ایجاد خواهد شد و می‌توانید با کلیک‌کردن روی آن، اطلاعات مربوط را مشاهده کنید:

 

ایجاد جدول SQL

 

برای مشاهده ردیف‌های ایجاد شده، می‌توانید روی تب browse در قسمت بالا و سمت چپ کلیک کنید. سه ردیف ایجاد شده به صورت زیر خواهند بود:

 

ایجاد جدول SQL

 

در این مرحله، برای دریافت اطلاعات از دیتابیس در PHP، می‌توان یک سری از دیتاها را به جدول اضافه کرد. با استفاده از یک کوئری دیگر، این دیتاها به جدول اضافه می‌شوند:

 

INSERT INTO `student` ( `name`, `branch_number`, `student_code`)  
    VALUES ( 'John', '0b00', '0' );

INSERT INTO `student` ( `name`, `branch_number`, `student_code`)  
    VALUES ( 'Joe', '0b01', '1' );
    
INSERT INTO `student` ( `name`, `branch_number`, `student_code`)  
    VALUES ( 'Jack', '0b10', '2' );

 

دریافت اطلاعات از دیتابیس در PHP

 

با کلیک روی کلید Go و در صورتی که مشکلی وجود نداشته باشد، نتیجه به صورت زیر نمایش داده خواهد شد.

 

اضافه کردن اطلاعات به جدول

 

روی تب browse در قسمت بالا و سمت چپ کلیک کنید، تا دیتای وارد شده به جدول را مشاهده کنید.

 

مشاهده اطلاعات درون جدول در دیتابیس

 

حالا دیتابیس MySQL آماده است و در مرحله بعدی می‌توان آن را به اسکریپت PHP متصل کرد. در بخش‌های بعد با روش‌های دریافت اطلاعات از دیتابیس در PHP آشنا می‌شویم.  

تابع گرفتن اطلاعات از دیتابیس در PHP

برای گرفتن اطلاعات از دیتابیس در PHP یک تابع کلی و قابل‌اتکا وجود دارد که با استفاده از آن به‌سرعت می‌توان یک جدول و دیتای داخلی آن را خوانده و در مرحله بعدی نمایش داد. البته، قبل از استفاده از این تکه کوئری، ابتدا نیاز است تا اتصال به دیتابیس در کد پی‌اچ‌پی برقرار شود که با تابع mysqli() انجام خواهد شد. 

پس از اتصال، با دستورات sql زیر که از select تشکیل شده است، به راحتی می‌توان دیتای مربوط به جدول student را در MySQL خوانده و در یک متغیر ذخیره کرد.

در کد زیر، ابتدا یک اتصال با تابع mysqli با دیتابیس برقرار می‌شود. پس از آن، یک کوئری برای خواندن کل دیتا از جدول student با “select * from student” تعریف می‌شود. در مرحله آخر، این کوئری اجرا شده و نتیجه در result قرار خواهد گرفت.

 

<?php

   $servername = "localhost";
   $username = "root";
   $password = "";
   $dbname = "test";
     
   // connect to the database
   $conn = new mysqli($servername, $username, $password, $dbname);
     
    // read the data from the student db
    $sql = "select * from student";

    $result = ($conn->query($sql));

   
?>

 

تابع گرفتن اطلاعات از دیتابیس در PHP

 

نمایش اطلاعات پس از دریافت اطلاعات از دیتابیس در PHP

با روش‌های مختلفی می‌توان اطلاعات دریافت شده از دیتابیس را به نمایش گذاشت. در این بخش با ۲ متد اصلی آشنا می‌شویم. 

نمایش دیتا در ترمینال پس از دریافت اطلاعات از دیتابیس در PHP

آسان‌ترین و سریعترین روش برای نمایش داده‌های دیتابیس، ترمینال است. در این روش، ابتدا یک فایل PHP ایجاد کنید، و کد زیر را در آن قرار دهید. اکنون، کد پی‌اچ‌پی به دیتابیس متصل شده، و دیتای دریافت شده را با echo به صورت ردیفی در کنسول نشان می‌دهد.

 

<?php

   $servername = "localhost";

   $username = "root";

   $password = "";

   $dbname = "test";


   // connect to the database

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

    // if an error occurs  

    if ($conn -> connect_errno)

    {
       echo "Failed to connect to MySQL: " . $conn -> connect_error;

       exit();
    }

    $sql = "select * from student";

    $result = ($conn -> query($sql));

    //declare an array to store the data of database

    $row = [];  

    if ($result -> num_rows > 0)  

    {
        // fetch all data from db into array  

        $row = $result -> fetch_all(MYSQLI_ASSOC);  

    }    

    if(!empty($row))

    foreach($row as $rows)

   {  

    ?>

     <?php echo $rows['name']; ?>

     <?php echo $rows['branch_number']; ?>

     <?php echo $rows['student_code']; ?>

    <?php
  
    }

?>

 

نمایش دیتا در ترمینال پس از دریافت اطلاعات از دیتابیس در PHP

 

نمایش دیتا در ترمینال پس از دریافت اطلاعات از دیتابیس در PHP

 

در این تکه کد از تابع foreach پی‌اچ‌پی برای خواندن تک‌تک ردیف‌ها استفاده شده است. در نهایت، می‌توان در هر ردیف، به پارامتر متناظر دسترسی پیدا کرد. با اجرای این کد php، در ترمینال دیتا های مورد نظر را در اختیار خواهید داشت.

 

کد php برای خواندن تک‌تک ردیف‌ها

 

نمایش دیتا در صفحه وب پس از دریافت اطلاعات از دیتابیس در PHP

برای نمایش دیتا پس از دریافت اطلاعات از دیتابیس در PHP، یک روش دیگر نیز وجود دارد. برای این کار نیاز است تا یک فولدر در htdocs وب‌سرور ایجاد کنیم و فایل ایندکس PHP را درون آن قرار دهیم. در نهایت، با اجرای وب‌سرور در مرورگر، فایل ایندکس اجرا شده و اطلاعات مورد نظر دیتابیس در آن قابل نمایش است. 

ابتدا در فولدر xampp به فولدر htdocs بروید.

 

نمایش دیتا در صفحه وب پس از دریافت اطلاعات از دیتابیس در PHP

 

در این فولدر، یک پوشه جدید ایجاد کنید که ما برای آن نام test را انتخاب کردیم.

 

نمایش دیتا در صفحه وب پس از دریافت اطلاعات از دیتابیس در PHP

 

داخل این فولدر، یک فایل ایندکس با نام index.php ایجاد کنید. فرمت این فایل باید به صورت php. باشد تا بتوان آن را اجرا کرد.

 

نمایش دیتا در صفحه وب پس از دریافت اطلاعات از دیتابیس در PHP

 

اکنون، فولدر test را داخل ادیتور VSCode باز کنید تا روی آن تغییراتی را ایجاد کنیم. به نام فایل ایندکس و مسیر آن دقت کنید. تا مشکلی برای اجرای آن به وجود نیاید:

 

نمایش دیتا در صفحه وب پس از دریافت اطلاعات از دیتابیس در PHP

 

کد زیر را در فایل ایندکس قرار دهید و آن را ذخیره کنید. این کد، ابتدا یک اتصال با دیتابیس ایجاد خواهد کرد، و پس از آن اطلاعات جدول student را از آن فراخوانی خواهد کرد. در نهایت، این دیتا در آرایه rows قرار می‌گیرد.

با دستور foreach می‌توان هر یک از این ردیف‌ها را خوانده و در کد html با استفاده از تگ‌های tr و th به نمایش گذاشت.

 

<?php
   $servername = "localhost";
   $username = "root";
   $password = "";
   $dbname = "test";
     
   // connect to MySQL
   $conn = new mysqli($servername, $username, $password, $dbname);
     
    // if an error occurs  
    if ($conn -> connect_errno)
    {
       echo "Failed to connect to MySQL: " . $conn -> connect_error;
       exit();
    }
 
    $sql = "select * from student";

    $result = ($conn -> query($sql));
   
    $row = [];  
 
    if ($result->num_rows > 0)  
    {
        $row = $result -> fetch_all(MYSQLI_ASSOC);  
    }    
?>
 
<!DOCTYPE html>
<html>
   
<style>
    td, th {
        border: 2px solid red;
        padding: 15px;
        margin: 2px;
        text-align: center;
    }
</style>
 
<body>
    <table>
        <thead>
            <tr>
                <th>Name</th>
                <th>Branch Number</th>
                <th>Student Code</th>
            </tr>
        </thead>
        <tbody>
            <?php
               if(!empty($row))
               foreach($row as $rows)
              {  
            ?>
            <tr>
 
                <td><?php echo $rows['name']; ?></td>
                <td><?php echo $rows['branch_number']; ?></td>
                <td><?php echo $rows['student_code']; ?></td>
 
            </tr>
            <?php } ?>
        </tbody>
    </table>
</body>
</html>
 
<?php    
    mysqli_close($conn);
?>

 

اتصال به دیتابیس

 

اتصال به دیتابیس

 

نمایش دیتا در صفحه وب پس از دریافت اطلاعات از دیتابیس در PHP

 

حالا، به آدرس وب‌سرور در مرورگر رفته و مسیر فولدر test و index.php را دنبال کنید. با این کار، دستورات پی‌اچ‌پی روی مرورگر و سیستم محلی شما اجرا شده و خروجی را به صورت زیر مشاهده خواهید کرد.

 

نمایش دیتا در صفحه وب پس از دریافت اطلاعات از دیتابیس در PHP

 

اجرای کوئری ها برای دریافت اطلاعات از دیتابیس در PHP

برای دریافت اطلاعات، از دیتابیس در PHP می‌توان از دو روش کلی استفاده کرد. اولین روش استفاده از صفحه مدیریتی XAMPP و مراجعه به بخش phpmyadmin است. که دیتاهای مربوط به تمامی دیتابیس‌ها را در اختیار شما قرار خواهد داد. در این روش، به صورت گرافیکی می‌توانید اجرای کوئری‌ها را انجام دهید،و به اطلاعات مورد نیاز دسترسی داشته باشید. 

در روش دوم، می‌توان تمامی کوئری‌ها را روی دیتابیس داخل کد PHP اجرا کرد. در این روش، تنها نیاز است تا یک کانکشن به دیتابیس ارسال شود و پس از آن، کوئری روی این کانکشن اجرا خواهد شد. 

دریافت اطلاعات از دیتابیس در PHP داخل کد با استفاده از دو خط زیر انجام می‌شود. که در مثال‌های قبلی نیز توضیح داده شد.

 

$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "select * from student";
$result = ($conn -> query($sql));

 

دریافت اطلاعات از دیتابیس در PHP

 

مدیریت نتایج کوئری ها

برای دریافت اطلاعات از دیتابیس در PHP و مدیریت نتایج نیز ۲ روش با استفاده از رابط وب و کدنویسی در پی‌اچ‌پی وجود دارد.

مدیریت نتایج کوئری ها با رابط گرافیکی

در روش اول، می‌توانید به صفحه مدیریتی phpmyadmin مراجعه کنید و در آن یک کوئری اجرا کنید. در این صورت، نتایج به صورت گرافیکی و با جزئی‌ترین اطلاعات به شما نمایش داده خواهد شد.

برای این کار، کوئری زیر را برای خواندن اطلاعات کامل جدول student از دیتابیس تست اجرا می‌کنیم.

 

SELECT * from student

 

مدیریت نتایج کوئری ها با رابط گرافیکی

 

با کلیک روی کلید Go در قسمت پایین و سمت راست، اطلاعات به صورت زیر در اختیار شما خواهد بود.

 

مدیریت نتایج کوئری ها با رابط گرافیکی

 

مدیریت نتایج کوئری ها با کد PHP

در نهایت، یک روش دیگر نیز برای مدیریت نتایج پس از دریافت اطلاعات از دیتابیس در PHP وجود دارد. پس از اجرای کوئری روی کانکشن دیتابیس، یک نتیجه برگردانده خواهد شد. که به راحتی می‌توانید آن را در مراحل بعد مدیریت کنید. از روی این نتیجه، دیتای موردنیاز از جداول به دست خواهد آمد.که می‌توانید از این دیتا در بخش‌های مختلف صفحات وب استفاده کنید. 

در مثال زیر نتیجه داخل آرایه row قرار خواهد گرفت که دیتای مربوط به جدول student از دیتابیس تست است.

 

<?php
   $servername = "localhost";
   $username = "root";
   $password = "";
   $dbname = "test";
     
   // connect to MySQL
   $conn = new mysqli($servername, $username, $password, $dbname);
     
    // if an error occurs  
    if ($conn -> connect_errno)
    {
       echo "Failed to connect to MySQL: " . $conn -> connect_error;
       exit();
    }
 
    $sql = "select * from student";

    $result = ($conn -> query($sql));
   
    $row = [];  
 
    if ($result->num_rows > 0)  
    {
        $row = $result -> fetch_all(MYSQLI_ASSOC);  
    }    
?>

 

مدیریت نتایج کوئری ها با کد PHP

 

امنیت در کار با دیتابیس

امنیت کار با دیتابیس یکی از اصول اولیه و ضروری است که بدون توجه به آن ممکن است مشکلات زیادی در آینده به وجود آید؛ مخصوصا، اگر دیتای حساس و مهم را داخل دیتابیس ذخیره خواهید کرد. بهتر است پس از تسلط به کوئری‌نویسی، در یک دوره آموزشی که روی امنیت دیتابیس تمرکز دارد نیز شرکت کنید. در این دوره‌ها تمامی نکات مرتبط با کوئری‌نویسی امن و قابل‌اتکا در اختیار شما قرار خواهد گرفت. 

شاید برایتان جالب باشد تا بدانید سالانه چندین هزار مشکل امنیتی تنها به دلیل وجود حفره‌ها و مشکلات امنیتی در کوئری‌ها و طراحی دیتابیس به وجود می‌آید. بنابراین، شرکت‌های بزرگ تمرکز زیادی روی امن کردن دیتابیس و کدهای مرتبط با ذخیره‌سازی و فراخوانی دیتا دارند. 

روش های مدیریت خطاهای دیتابیس در PHP

در زمان گرفتن اطلاعات از دیتابیس در PHP، به دو صورت می‌توانید خطا ها را مشاهده کرده و تحلیل کنید. در روش اول، در همان بخش کوئری‌نویسی phpmyadmin، خطاها برایتان به نمایش گذاشته می‌شوند. بنابراین، با خواندن پیام خطا، می‌توانید آن را تحلیل کرده و مشکل را رفع کنید. البته، در ابتدای کار شاید پیام‌ها برایتان گنگ باشند اما با گذشت زمان و افزایش تجربه، در این کار مهارت بیشتری پیدا خواهید کرد. 

برای مثال، با اجرای کوئری اشتباه زیر، خطای سینتکس نمایش داده خواهد شد:

 

    $sql = "select * from student";

 

امنیت در کار با دیتابیس

 

روش دوم برای تحلیل خطاها، اجرای کدها درون ادیتور VSCode است. در صورتی که در اتصال یا فراخوانی دیتا مشکلی وجود داشته باشد، در همان ترمینال ادیتور خطای مورد نظر را مشاهده خواهید کرد: 

 

<?php
   $servername = "localhost";
   $username = "root";
   $password = "";
   $dbname = "abc";
     
   // connect to MySQL
   $conn = new mysqli($servername, $username, $password, $dbname);
     
    // if an error occurs  
    if ($conn -> connect_errno)
    {
       echo "Failed to connect to MySQL: " . $conn -> connect_error;
       exit();
    }
 
    $sql = "select * from student";

    $result = ($conn -> query($sql));
   
    $row = [];  
 
    if ($result->num_rows > 0)  
    {
        $row = $result -> fetch_all(MYSQLI_ASSOC);  
    }    
?>

 

امنیت در کار با دیتابیس

 

همان‌طور که مشاهده می‌کنید، خطا مربوط به دیتابیس است. که مشخص می‌کند دیتابیسی با نام abc در MySQL وجود ندارد.

 

امنیت در کار با دیتابیس

 

کار با داده های پیچیده

کار با داده‌های پیچیده نیز پس از دریافت اطلاعات از دیتابیس در PHP امکان‌پذیر است. البته، ابتدا باید مشخص شود که این دیتاها مربوط به چه جداولی هستند و هدف ما از فراخوانی آن‌ها چیست. برای مثال، شاید در یک بیزینس دیتای مربوط به سفارش کاربران بر اساس کد کاربری در زمان‌های خاصی فراخوانی شود. این دیتا در نهایت روی صفحه کاربری برای فرد به نمایش گذاشته خواهد شد و دیتای مربوط به هر سلول در محل مورد نظر در صفحه قرار خواهد گرفت. 

زبان PHP قابلیت‌های زیادی را در اختیار شما قرار می‌دهد تا به راحتی و در کمترین زمان ممکن بتوانید دیتای فراخوانی شده را مرتب کرده و آن‌ها را در محل‌های موردنظر به نمایش بگذارید. برای این کار، از قابلیت‌های زبان‌های دیگر مانند جاوا اسکریپت و حتی HTML نیز می‌توان استفاده کرد. 

بهینه سازی عملکرد کوئری ها

گرفتن اطلاعات از دیتابیس در PHP یکی از ضروری‌ترین امور است در صورتی که قصد ورود به دنیای برنامه‌نویسی بکند را دارید. با این حال، یادگیری نحوه نوشتن و خواندن یک دیتابیس ابتدای مسیر است. و در مراحل بعدی نیاز است تا به نکات بهینه‌سازی نیز تسلط داشته باشید. 

زمانی که با کوئری‌ ها و جداول ساده سروکار دارید، این بهینه‌سازی‌ها زیاد به چشم نمی‌آیند. با این حال، موضوع زمانی اهمیت پیدا می‌کند که جداول مختلف و کوئری‌ های پیچیده قرار است روی سیستم به اجرا در بیایند. در این شرایط، XAMPP با ارائه ابزارهای مدیریتی بهترین مزایا را در اختیار شما قرار می‌دهد. 

برای مثال، می‌توانید به صفحه phpmyadmin مراجعه کرده و در بخش status بسیاری از ویژگی‌ها را در اختیار داشته باشید. در این بخش، تحلیل عملکردها در اختیار شما است و در کنار آن، مانیتورینگ روی دیتابیس و دستورات نیز به صورت گرافیکی و تحلیلی به کمک شما خواهد آمد. تا بهینه‌ سازی‌ها را انجام دهید.

 

بهینه سازی عملکرد کوئری ها

 

ابزار مانیتورینگ به صورت زیر در دسترس شما است.

 

بهینه سازی عملکرد کوئری ها

 

جمع بندی 

در آخر بهتر است به این نکته اشاره کنیم. که تخصص دیتابیس یک تخصص جدا از کدنویسی است، و این تخصص در حال حاضر تقاضای بالایی در دنیای علوم کامپیوتر دارد. متخصصان این حوزه وظیفه کار روی دیتا، ذخیره‌سازی صحیح و فراخوانی سریع و بدون مشکل آن را دارند. تا روندهای کاری بدون کمترین اختلال در وب سایت‌ها یا سیستم‌های نرم افزاری انجام شوند. برای رسیدن به تخصص در این حوزه، شرکت در یک دوره جامع‌وکامل و تمرین عملی ۲ نکته مهم است. که دید عالی به شما خواهد داد تا مسیر شغلی خود را شروع کنید.

چه رتبه ای می‌دهید؟

میانگین ۳.۷ / ۵. از مجموع ۳

اولین نفر باش

title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
399 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
title sign
دیدگاه کاربران

close-image