آموزش برنامه نویسی

آموزش کار با MySql در php

چگونه از MySql استفاده کنیم

برای اتصال به mySql در کامند لاین ابتدا به آدرس C:\xampp\mysql\bin می‌رویم سپس دستور mysql.exe -u root را می‌نویسیم، من برای mysql خود پسوردی قرار نداده‌ام .
برای دیدن دیتابیس‌هایی که دارید می‌توانید از دستور SHOW DATABASES; استفاده کنید، برای ساخت یک دیتابیس جدید از دستور CREATE DATABASE db_name; استفاده می‌شود.
شروع می‌کنیم بیاید ببینیم چه دیتابیس‌هایی داریم .

phptutotial18

همان طور که در تصویر می‌بینید از دستور SHOW DATABASES; استفاده کردم.
حالا نوبت ساختن یک دیتابیس است، فرض کنید می‌خواهم برای دارکوب وب یک دیتابیس ایجاد کنم.

phptutotial19

همان طور که در تصویر بالا می‌بینید دیتابیس مورد نظر من ایجاد شده است و من آن را در لیست دیتابیسهای mysql خود می‌بینم.
برای اینکه بتوانم از دیتابیسی که ساخته‌ام استفاده کنم، باید از دستود use darkoob_web; استفاده کنم .
ما با یوزر روت وارد mysql شدیم، این یوزر قوی‌ترین یوز در mysql است، بهتره است یک یوز دیگر ایجاد کنیم و به آن یوزر اجازه کار بر روی دیتابیس darkoob_web را بدهیم به این صورت .

phptutotial20

با دستور exit; خارج شوید و این بار با یوزری که ساختیم وارد.
Mysql.exe –u darkoob_cms –p darkoob_web

phptutotial21

حالا که فهمیدیم چگونه یک دیتابیس و یوزر ایجاد کنیم، وقت آن رسیده که جداولی ایجاد کرده و با آنها کار کنیم، برای دیدن جداول از دستور show tables; استفاده می‌کنیم و برای ایجاد جدول از create table table_name();

phptutotial22

همان طور که می‌بینید من یک ستون به نام id دارم، که از نوع عدد صحیح است و نمی‌تواند مقدارش خالی باشید همچنین به صورت اتوماتک مقدارش افزایش پیدا می‌کند
یک ستون به نام menuName که از نوع رشته است و 30 کاراکتر می‌تواند داشته باشد و نمی‌تواند مقدارش خالی باشید.
ستونی به نام position از نوع عدد صحیح که به این ستون هم نمی‌تواند مقدارش خالی باشید.
ستونی به نام visible از نوع تاینی اینت این ستون نیز نمی‌تواند مقدارش خالی باشید.

خواندن ، نوشتن ، بروز رسانی ، حذف در MySql (CRUD):

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

با هم اطلاعاتی را به جدول subjects اضافه می‌کنیم :
phptutotial23
همان طور که در تصویر بالا می‌بیند با استفاده از دستور INSERT اطلاعاتی را به جدول subjects اضافه کردم، به یاد داشته باشید که برای نشان دادن رشته ها در MySql از علامت ‘ ‘ استفاده می‌کنیم .
من اطلاعات دیگری نیز اضافه می‌کنم .
حال بیاید اطلاعات را update (بروز رسانی یا ویرایش کنیم ).
در بین اطلاعاتی که وارد کردام id شماره 4 دارای visible 0 می‌باشد می‌خواهم مقدار آن را به 1 تغییر دهم، برای این کار.
UPDATE subjects
SET visible = 1
WHERE id = 4;
phptutotial24
همان طور که در تصوریر بالا می‌بینید id شماره 4 یعنی visible از 0 به 1 تغییر کرد.

چگونه Relational database ایجاد کنیم ؟

phptutotial25

همان طور که می‌بینید ستونی به نام subjecId ایجاد کردام، و سپس در INDEX قرارش دادم سپس کافی است در هنگام ورود اطلاعات، id مورد نظر از جدول subjects را در subjectId جدول pages وارد کنید .
INSERT INTO pages(subjectId,menuName,position,visible,content)
VALUES(1,’Our History’,2,1,’Found in 2015 by two enterpris enginier’);
و برای دیدن اطلاعات می توانید بنویسید
SELECT * FROM pages WHERE subjectId = 2;

چگونه با php به mySql متصل شویم ؟

به 3 روش می‌توان به mySql متصل شد 1- Mysql (Orginal MySQL API ) 2-mySqli(MySQL improved API) 3- PDO (PHP Data Objects)
در این فصل از آموزش از mySQLi استفاده خواهیم کرد.

همان طور که در کد بالا می‌بینید از فانکشن mysqli_connect برای اتصال به mySql استفاده کردایم، این فانکشن 4 پارامتر می‌گیرد، هاست در اینجا local host ، یوزرنیم در اینجا darkoob_cms، پسورد darkoob123 و نام دیتابیس darkoob_we می‌باشد.
سپس چک می‌کنیم اگر خطایی در اتصال وجود دارد آن را به ما نمایش دهد.
این کد فقط شما را به دیتابیس متصل می‌کند. وقت آن است که داده‌ها را نمایش دهیم .

در کد بالا ابتدا یک کویری mySql نوشته‌ام که تمام اطلاعات جدول subject رامی‌گیرد. برای اجرای این کویری از فانکشن mysqli_query استفاده می‌کنم که دو پارامتر می‌گیرد اولی connection که قبلا نوشتیم و دومی کویری که می‌خواهیم اجرا شود، نتیجه را در $result ریخته‌ام، سپس چک کردام اگر مقدار result فالس باشد بگوید مشکلی پیش آمده.
اما برای نمایش اطلاعاتی که در result است یک حلقه while ساخته‌ام و با فانکشن mysqli_fetch_assoc نتایج را داخل subject می‌رزم، حلقه تا زمانی اجرا می‌شود که result اطلاعات داشته باشد، فانکشن mysqli_fetch_assoc اطلاعات را به صورت آرایه کلید و مقدار برای ما بر می‌گرداند .
سپس در داخل حلقه اطلاعات را با دادن کلید هر کدام می‌گیریم و نمایش می‌دهیم، وقتی که کارمان با result تمام شد آن را با mysqli_free_result رها می‌کنیم و در آخر با دستور mysqli_close کانکشن را می‌بندیم .
به یاد داشته باشید هنگامی که اطلاعات را می‌خوانیم (select) می‌کنیم اگر این عمل موفقیت آمیز باشد داده‌ها به ما داده می‌شوند اگر ناموفق باشد false به ما داده خواهد شد، در مورد insert , update, delete یا true یا false به ما برگردانده می‌شود .
برای نوشتن insert می‌توانیم به این شکل عمل کنیم .

دقیقا شبیه select فقط کویری که نوشتیم فرق دارد و همین طور چک کردیم اگرresult مقدار true را برگرداند بگوید: “اضافه کردن با موفقیت انجام شد” در غیر این صورت بگوید: “کویری مشکل خورد” و خطا را به ما نمایش دهد . برای اطمینان از اینکه اطلاعات اضافه شده یا نه می‌توانید به صفحه databases.php که با هم نوشتیم مراجعه کنید تا یک بار دیگر برای شما select بگیرد.

نوشتن update :

نوشتن update، شبیه insert است با این تفاوت که هنگام چک کردن چک می‌کنیم چند سطر تغییر کرده است. چرا؟

id خود را به 5000 تغییر دهد کد را اجرا کنید می‌بینید که می‌گوید: “موفق شدیم” اما ما id 5000 نداریم .
Mysql پیغام درستی به شما نشان می‌دهد چون ما درست اجرا شدن کویری را چک می‌کنیم و کویری ما درست است اما چک نکرده‌ایم سطری تغییر کرده یا نه برای این کار به جای روش قبلی چک کردن از این روش استفاده می‌کنیم و از فانکشن mysqli_affected_rows کمک می‌گیریم. در اینجا فقط یک سطر تغییر می‌کند، پس می‌گوییم اگر برابر یک بود، اما اگر تعداد بیشتری سطر قرار بود تغییر کند می توانیم بگویم بزرگتر از 0 .

نوشتن delete :

نوشتن delete، همانند کدهای قبل است با این تفاوت که فقط id را لازم داریم .
در مواقعی ممکن است در رشته از ‘ استفاده کرده باشیم، برای اینکه در کویری خود دچار مشکل نشویم ابتدا رشته را داخل فانکشن mysqli_real_escape_string قرار دهید و بعد از آن استفاده کنید .
[/av_textblock]
برچسب ها

پوریا پرهامی

سلام. من پوریا هستم. به برنامه نویسی علاقه مندم. حدود دو سال است در سامانه‌ی آموزشی خدماتی دارکوب وب فعالیت می‌کنم. امیدوارم آموزش‌هایی که در وب‌سایت قرار می‌دهم برای شما مفید باشد. موفق باشید. {^}

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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

دکمه بازگشت به بالا
بستن