آموزش کامل کار با دیتابیس در PHP | ارتباط PHP و MYSQL

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

نکته: در صورتی که نیازمند قرار گرفتن آموزش خاص و یا مطلبی به صورت رایگان در حوزه های حسابداری و کامپیوتر هستید آن را در قسمت نظرات همین صفحه وارد کنید.

سلام دوستان

امیدوارم که از سری مقالات آموزش PHP که در سایت ما منتشر شده راضی باشید و همچنین امیدوارم که در دوره آموزش رایگان ساخت فروشگاه اینترنتی با PHP نیز شرکت کرده باشید.

در این سری از مقالات آموزش زبان برنامه نویسی PHP ما می ریم سراغ یادگیری کامل مبحث دیتابیس در PHP و با انواع و اقسام شیوه های اتصال به دیتابیس و ارسال اطلاعات به اون آشنا می شویم.

همچنین یاد می گیریم که چطور با استفاده از PHP به دیتابیس اطلاعات ارسال کنیم، چطور از دیتابیس اطلاعات رو دریافت، ویرایش و یا حذف کنیم.

قبل از هر چیزی اگر با شیوه ساخت دیتابیس و یا ساخت Table در دیتابیس آشنایی ندارید می تونید در لینک های زیر آموزش های مربوط به آن را مطالعه فرمایید.

آموزش ساخت Table در دیتابیس

آموزش ساخت دیتابیس در phpMyAdmin

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

اولین راه استفاده از کتاب خانه MYSQLI می باشد. که تقریبا به تازگی وارد PHP شده و برای افراد مبتدی و پروژه های کوچک تا متوسط مناسب می باشد.

اما دومین روش که روش مرسوم افراد حرفه ای می باشد و به عنوان جدید ترین روش کار با دیتابیس در زبان برنامه نوسی PHP شناخته می شود PDO یا PHP Data Objects می باشد.

باید بدانید که در هر دو روش ذکر شده یعنی PDO و MYSQLI عمل کرد های یکسانی را ارائه می دهند، هر دو از امنیت بالایی برخوردارند اما روش دوم یا همان PDO این امکان را به ما می دهد تا بتوانیم به راحتی در هر زمان که بخواهیم نوع پایگاه داده خود را عوض کنیم، مثلا پایگاه داده خود را از MYSQL به SQL SERVER تغییر دهیم، در صورتی که اگر بخواهیم همین کار را در MYSQLI انجام دهیم باید تمامی کد هایی که در آن به دیتابیس درخواست ارسال کرده ایم را ویرایش کنیم.

همچنین باید بدانید که در این مقاله ما با استفاده از کتابخانه MYSQLI اقدام به کار کردن با دیتابیس در PHP می کنیم و PDO را بعدا در مقاله ای دیگر منتشر خواهیم کرد.

آموزش اتصال به دیتابیس در PHP

در این بخش ما به آموزش اتصال به دیتابیس در PHP می پردازیم.

برای اتصال به دیتابیس در PHP با استفاده از MYSQLI ما تنها کافیست از تابع mysqli_connect به صورت زیر استفاده نماییم.
ساختار تابع mysqli_connect:

mysqli_connect('HostName','User','Pass','DatabaseName');

HostName = این مقدار همیشه باید روی localhost باشد.

User = این مقدار همان یوزری می باشد که شما هنگام ساختن دیتابیس ساخته اید.

Pass = رمز یوز می باشدو

DatabaseName = نام دیتا بیس شما.

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

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

$db = mysqli_connect('localhost','arya','123','test');

پس از انجام مراحل فایل خود را درون مرورگر باز کنید.

اگر هیچ خطایی مشاهده نکردید و کاملا صفحه صفید بود به این معنی می باشد که شما به درستی به دیتابیس متصل شده اید.

شما همچنین می توانید با اضافه کردن یک شرط به صورت زیر، هرگاه خطایی مشاهده کردید متوجه شوید که این خطا از جانب دیتابیس می باشد یا خیر.

$db = mysqli_connect('localhost','arya','123','test');
if(!$db){
echo 'we cant connect to the database  ' . mysqli_Connect_error();
}

در کد بالا ما گفتیم که هرگاه نتوانستی به دیتابیس متصول شوی بیا و بگو we cant connect to the database و همچنین ارور مربوطه را به اطلاع ما برسان.

خب تا اینجا ما با شیوه اتصال به دیتابیس در PHP آشنا شدیم آما حالا می بایست با شیوه ارسال اطلاعات به دیتابیس نیز آشنا شویم.

آموزش ارسال اطلاعات به دیتابیس در PHP

خب در اینجای کار و پس از اتصال به دیتابیس در PHP ما می خواهیم به طور مثال محتویات دو متغیر خود را با نام های A و B به یک Table در دیتابیسمان (به طور مثال Table = posts) ارسال نماییم.

Table ما همچنین سه کالم با نام های id و title و desc دارد.

ما با استفاده از آموزش هایی که در مقاله ساخت Table در دیتابیس آموختیم. کاری کرده ایم که این کالم id ما خود به خود برای ورودی های جدید یک عدد منحصر به فرد ایجاد نماید.

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

$query = mysqli_query(DBconnect, "Query");

DBconnect = شما باید متغیر دیتابیس خود را در این جا وارد کنید تا تابع ما بفهمد که به دیتابیس متصل است.

Query = در این قسمت شما باید در خواست خود را به سمت دیتابیس ارسال کنید. این درخواست می توانید ارسال اطلاعات باشد و یا دریافت و یا حذف و یا ویرایش. اما باید بدانید تمامی این درخواست ها توسط کد هایی ارسال می شند که در ادامه به آن ها می پردازیم.

به نمونه کد زیر دقت کنید و ببینید که ما چگونه اطلاعات خود را به دیتابیس و Table خود که نام آن Test می باشد می فرستیم.

$db = mysqli_connect('localhost','arya','123','test');
if(!$db){
echo 'we cant connect to the database  ' . mysqli_Connect_error();
}
$a = my title';
$b = 'my description for my post';
$query = mysqli_query($db, "INSERT INTO posts(title,desc) VALUES('$a','$b')");

در کد بالا ما ابتدا به دیتابیس متصل شدیم. سپس دو متغییر ساختیم.

سپس یک متغیر دیگر ساختیم که که در آن تابع mysqli_connect وجود دارد. درون این تابع ما ابتدا متغیر دیتابیس خود را ارجاع دادیم و سپس یک کد در پارامتر دوم آن نوشتیم. حال، تشرحی آن کد برای ارسال اطلاعات به دیتابیس می پردازیم.

قبل از هرچیزی باید بدانید که دستورات(ًQUERY) ما در این تابع باید با حروف بزرگ نوشته شوند.

"INSERT INTO posts(title,desc) VALUES('$a','$b')"

ما در عبارت اول آن یعنی INSERT INTO گفتیم که قراره یه چیزیو بفرستی و بعد از اسم جدول خودرا یعنی posts آوردیم و بعد از آن در پرانتز گفتیم که کدوم کالم ها قرار اطلاعات دریافت کنند.

سپس پرانتز را بستیم و بعد از آن در عبارت VALUES  گفتیم که این کالم ها قراره با چه مقادیری پرش بشن. که درون پرانتز گفتیم این بخش های title و desc قرار با متغیر های a و b پر بشن.

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

آموزش دریافت اطلاعات از دیتابیس در PHP

همان طور که گفته شد ما هرگاه می خواهیم یک درخواست به سمت دیتابیس خود وارد کنید باید از تابع mysqli_query استفاده نماییم.

دریافت اطلاعات از دیتابیس نیز یک درخواست می باشد.

این بار هم ما یک متغیر با نام query می سازیم که درون آن تابع mysqli_query قرار دارد و رودن تابع و در پارامتر اول ما متغیر دیتابیس خود را فراخوانی می کنیم و تنها چیزی که متفاوت است رشته query ما می باشد.

برای دریافت اطلاعات از دیتابیس ما باید به صورت زیر عمل کنیم.

$query = mysqli_query($db, "SELECT * FROM posts");

در کد بالا ما گفتیم که بیا و هر چی که داخل Table پست وجود داره رو برای ما دریافت کن.

علامت ستاره به معنای همه می باشد.

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

ما برای تبدیل مقادیر دریافت شده از دیتابیس به آرایه از تابع mysqli_fetch_array استفاده می کنیم.

همچنین برای نمایش مقادیر آرایه شده می توانیم از حلقه های while و foreach استفاده نماییم.

اگر با حلقه های تکرار در زبان برنامه نویسی PHP آشنایی ندارید می توانید از آموزش حلقه های تکرار در PHP به استفاده نمایید و به صورت کامل با این مبحث مهم در زبان برنامه نویسی PHP آشنا شوید.

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

$query = mysqli_query($db , "SELECT * FROM posts");
while($row = mysqli_fetch_array($query)){
echo $row['title'];
echo '
';
echo $row['desc'];
}

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

$row[‘column’]

آموزش حذف اطلاعات از دیتابیس

برای حذف اطلاعات از دیتابیس نیز ما باید به صورت زیر عمل کنیم.

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

ما می توانیم به دیتابیس بگوییم که زمانی که تو می خواهی چیزی را حذف کنی بیا و آن داده که ID و یا شناسه آن برابر بود با داده ای که ما می خواهیم حذف شود را حذف کن.

به مثال زیر دقت کنید.

$query = mysqli_query($db ,"DELETE FROM posts WHERE id = 1");

در کد بالا ما گفتیم که بیا و از تیبل posts اون داده ای رو حذف کن که id اون برابر باشه با ۱

ویرایش اطلاعات در دیتابیس با PHP

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

برای ویرایش اطلاعات ما می بایست به صورت زیر عمل کنیم.

$query = mysqli_query($db , "UPDATE posts SET title = 'value' , desc = 'value' WHERE id = 1");

در کد بالا ما با استفاده از دستورت SET و ساختاری که مشاهده کردید گفتیم که:

بیا و ویرایش کن در جدول posts مقادیر title رو به مقدار روربرویش و ویرایش کن کالم desc رو به مقداری که روبه رویش تعریف کردیم.همچنین این ویرایش رو برای اون داده ای انجام بده که id اون برابر با ۱ است.

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