تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

آموزش نحوه اتصال php به mysql — به همراه ۴ عملیات اصلی بر روی پایگاه داده

آموزش نحوه اتصال php به mysql — به همراه 4 عملیات اصلی بر روی پایگاه داده
در پست آموزشی نحوه اتصال php به mysql با نحوه اجرای عملیات مختلف پایگاه داده آشنا خواهیم شد. اساساً زمانی که برنامه نویسان وب به دیتابیس اشاره می‌کنند؛ معمولاً منظورشان پایگاه داده mysql است. هنگامی که ما کاربران عادی یک سایت، به آن مراجعه می‌کنیم و انواع متنوع تراکنش‌های خود را در آن ثبت می‌کنیم؛ به‌طور اتوماتیک تمام اطلاعات ما در قسمت Sql یا پایگاه داده آن سایت ذخیره‌سازی می‌گردد.

فهرست مطالب

مقدمه آموزش نحوه اتصال php به mysql

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

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

حال اگر شما می‌خواهید به عنوان یک طراح صفحات وب، وارد عرصه علوم کامپیوتر شوید؛ حتما نیاز خواهید داشت که با نحوه اتصال php به mysql آشنا شوید. پس برای ادامه کارتان، سعی کنید این مقاله را تا پایان مطالعه کرده و آن را به خوبی یاد بگیرید. سپس آموزش‌های پیشرفته‌تری که در این مقاله معرفی می‌گردد را به عنوان آموزش‎‌های تکمیلی بررسی کرده و پروژه خود را شروع کنید.

روال انجام کار، شاید در ابتدا کمی پیچیده به نظر برسد ولی این مژده را به شما می‌دهم که با تمرین و تکرار، می‌توانید به قول معروف، سوار کار شوید و در مراحل انجام پروژه تسلط پیدا کنید.

آیا می‌دانستید که از پایگاه داده، در سایت‌های پویا برای ذخیره‌ سازی داده‌ها استفاده می‌شود؟ بله! به همین منظور است که اتصال به دیتابیس و کار با آن در اکثر پروژه‌ها موردنیاز است. در php امکان ارتباط با انواع دیتابیس‌ها فراهم است. به‌طوری‌که یکی از قدیمی‌ترین و پراستفاده‌ترین پایگاه داده mysql می‌باشد. در این مقاله به نحوه ارتباط با دیتابیس mysql و روش کار با دیتابیس php خواهیم پرداخت.

در تعریف ساده از پایگاه داده می‌توان گفت؛ پایگاه داده محلی برای ذخیره و نگهداری داده‌های موردنیاز است. دیتابیس mysql پایگاه داده‌ای جدولی و رابطه‌ای است. به‌این معنا که دیتابیس از جداول ساخته شده و داده‌ها در این جدول‌ها به شکل یک ردیف ذخیره می‌شوند. مابین این جداول و ردیف‌ها نیز رابطه‌هایی را می‌توان درنظر گرفت.

نحوه اتصال php به mysql

نحوه کار با دیتابیس mysql در php

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

در php نسخه ۵ به بالا، برای کار با پایگاه داده mysql می توانید یکی از روش‌های زیر را به کار ببرید:

  • mysql
  • mysqli
  • Pdo

در نسخه‌های قبلی php از افزونه mysql استفاده می‌شد اما استفاده از این افزونه از ۲۰۱۲ به بعد توصیه نمی‌شود. به دلیل مسائل امنیتی مانند ترزیق Sql و غیره منسوخ شده است ولی دو مورد دیگر بطور فعال مورد استفاده قرار می‌گیرند. آیا مایل هستید؛ از mysqli یا Pdo استفاده کرده و مزیت هر یک نسبت به دیگری را بدانیم؟

اگر بخواهیم بررسی مختصری در این مورد داشته و جواب کلی برای مخاطبان ارائه دهیم؛ باید بگوییم که استفاده از mysqli یا Pdo بستگی به انتخاب و نیاز شما دارد و هر‌کدام از گزینه‌ها mysql و Pdo مزیت‌های خودشان را‌ دارند. mysqli تنها با پایگاه داده mysql کار خواهد کرد اما Pdo با ۱۲ پایگاه داده مختلف کار می‌کند.

اگر زمانی بخواهید به یک پایگاه داده دیگر سوییچ کنید؛ گزینه Pdo کار را راحت‌تر خواهد کرد و فقط ارتباط یا Connection به پایگاه داده را تغییر خواهید داد و به‌ احتمال‌ زیاد چند تغییر کوچک در کوئری‌ها را خواهید داشت.

هر دو گزینه شیءگرا هستند اما mysqli رویه‌های Api را نیز ارائه می‌‌دهد؛ هر دو گزینه، دستورات آماده برای مقابله با تزریقات Sql یا Sql injection را پشتیبانی می‌کنند؛ البته این موضوع، برای حفظ امنیت برنامه‌های کاربردی وب بسیار مهم و حیاتی است.

اکستنشن Pdo که اختصاری برای عبارت «اشیای داده‌ای php» یا همان php data objects است؛ یک لایه انتزاعی از پایگاه داده است.‌ انواع متفاوتی از سرورهای پایگاه داده را همراه با سرور mysql ارائه می‌کند. اکستنشن Pdo پرتابل است بنابراین هر وقت بخواهید سرور پایگاه داده را تغییر دهید؛ به سهولت می‌توانید این کار را اجرا کنید. از طرف دیگر اکستنشن mysqli خاص سرور mysql است و سرعت و عملکرد بهتری را ارائه می‌کند. مهم‌ترین مزیت استفاده از Pdo؛ ساده و قابل‌حمل بودن کد است. برای داشتن ارائه‌ای کاربردی درباره زبان php به فایل موجود در لینک زیر نگاهی بیندازید.

ایجاد یک اتصال Mysql

طراحی یک کانکشن mysql

در ادامه آموزش نحوه اتصال php به mysql با اسکریپت php برای طراحی یک کانکشن آشنا خواهیم شد. و از آن برای واکشی خروجی و دست‌کاری رکوردهای پایگاه داده استفاده خواهیم کرد. اکستنشن mysqli دو روش متفاوت شیءگرا یا رویه‌ای برای اجرای عملیات پایگاه داده در اختیار برنامه نویس قرار می‌دهد و طراح وب مختار است که از کدام این روش‌ها به اختیار خود استفاده کند.

<?php
$mysqli_link = mysqli_connect("{HOST_NAME}", "{DATABASE_USERNAME}", "{DATABASE_PASSWORD}", "{DATABASE_NAME}");
 
if (mysqli_connect_errno()) 
{
    printf("MySQL connection failed with the error: %s", mysqli_connect_error());
    exit;
}

توجه داشته باشید ازPlaceholder هایی برای تابع mysql-connect استفاده کردیم؛ شما بایستی آن‌ها را با مقادیر واقعی تعویض کنید.

  • Host-name

این بخش نشان‌دهنده نشانی Ip است. بهتر است که پس از انجام مراحل نصب در سیتم عامل موردنظر، از هاست محلی ۱۲۷.۰.۰.۱ استفاده شود اما اگر از میزبان بدون نیاز به نصب mysql استفاده شود؛ پیشنهاد می‌گردد نام میزبان با آدرس Ip از قبل تعیین شده، مورد استفاده قرار گیرد.

  • Database-username

در Database-username نام کاربری است که در زمان اتصال به سرور mysql خود مورد استفاده قرار می‌دهید؛ مقداردهی می‌گردد.

  • Database-password

در فیلد Database-password رمز عبور برای اتصال به سرور mysql همراه با نام کاربری موردنظر مقداردهی می‌شود.

  • Database-name

نام پایگاه داده mysql در فیلد Database-name مقداردهی شده و برای عملیات بعدی مورد استفاده قرار می‌گیرد.

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

<?php
$mysqli_link = mysqli_connect("localhost", "tutsplus-demo-user", "tutsplus-demo-password", "tutsplus-demo-database");
 
if (mysqli_connect_errno()) 
{
    printf("MySQL connection failed with the error: %s", mysqli_connect_error());
    exit;
}

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

صفحه وب

۱- نحوه ایجاد رکورد در MySql

در ادامه آموزش نحوه اتصال php به mysql، نحوه استفاده از شیء اتصال برای اجرای Insert را توضیح می‌دهیم. اگر تمایل داشته باشید که مثال‌های مطرح شده در این مقاله را خودتان نیز اجرا کنید؛ قبل از انجام هرگونه عملیات، ابتدا باید جدول mysql را در پایگاه داده‌تان بسازید.

CREATE TABLE `students` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `last_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

روال کار به این صورت است که معمولا جدول mysql با استفاده از ابزار خط فرمان ساخته شده و پارامترهای اتصال مقداردهی می‌گردد. به‌منظور این‌که پایگاه داده در برابر حملات سایبری قوی عمل کند و شکست‌ناپذیر باشد؛ پیشنهاد می‌شود از تابع mysqli_real_escape_string در زمینه متغیرهای post_$ استفاده شود. به تکه کد زیر توجه کنید.

<?php
$mysqli_link = mysqli_connect("localhost", "tutsplus-demo-user", "tutsplus-demo-password", "tutsplus-demo-database");
 
if (mysqli_connect_errno())
{
    printf("MySQL connection failed with the error: %s", mysqli_connect_error());
    exit;
}
 
$insert_query = "INSERT INTO students(`first_name`,`last_name`,`email`)
VALUES ('". mysqli_real_escape_string($mysqli_link, 'John') ."','". mysqli_real_escape_string($mysqli_link, 'Wood') ."','". mysqli_real_escape_string($mysqli_link, 'john.wood@tutsplus.com') ."')";
  
// run the insert query
If (mysqli_query($mysqli_link, $insert_query)) {
    echo 'Record inserted successfully.';
}
  
// close the db connection
mysqli_close($mysqli_link);
?>

تابع mysql_query درنهایت دوتا آرگومان را برای اتمام عملیات مورد بررسی قرار می‌دهد.

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

آرگومان شماره دو: یک کوئری mysql است که باید اجرا شود.

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

<code class="language-clike" data-prismjs-copy="کپی" data-prismjs-copy-success="کپی شد!" data-prismjs-copy-error="کپی نشد!"><?php
$mysqli_link = mysqli_connect("localhost", "tutsplus-demo-user", "tutsplus-demo-password", "tutsplus-demo-database");
 
if (mysqli_connect_errno())
{
    printf("MySQL connection failed with the error: %s", mysqli_connect_error());
    exit;
}
 
$insert_query = "INSERT INTO students(`first_name`,`last_name`,`email`)
VALUES ('". mysqli_real_escape_string($mysqli_link, 'John') ."','". mysqli_real_escape_string($mysqli_link, 'Wood') ."','". mysqli_real_escape_string($mysqli_link, 'john.wood@tutsplus.com') ."')";
  
// run the insert query
If (mysqli_query($mysqli_link, $insert_query)) {
    echo 'Record inserted successfully.';
}
  
// close the db connection
mysqli_close($mysqli_link);
?>

آموزش نحوه اتصال php به mysql | به همراه 4 عملیات اصلی بر روی پایگاه داده

۲- نحوه آپدیت رکورد در MySql

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

<?php
$mysqli_link = mysqli_connect("localhost", "tutsplus-demo-user", "tutsplus-demo-password", "tutsplus-demo-database");
 
if (mysqli_connect_errno())
{
    printf("MySQL connection failed with the error: %s", mysqli_connect_error());
    exit;
}
 
$update_query = "UPDATE students SET `first_name` = '". mysqli_real_escape_string($mysqli_link,'Johnny') ."' WHERE `email` = 'john.wood@tutsplus.com'";
  
// run the update query
If (mysqli_query($mysqli_link, $update_query)) {
    echo 'Record updated successfully.';
}
  
// close the db connection
mysqli_close($mysqli_link);
?>

۳- نحوه انتخاب رکورد در MySql

در این بخش، به بررسی شیوه واکشی رکوردها از پایگاه داده با استفاده از انواع متفاوت تابع‌های mysqli آشنا می‌شویم. برای‌این منظور از تابع mysqli_query استفاده کنیم. زمانی که مقدار Flag برابر با مقدار یک شد؛ تابع mysqli_query شی‌ء حاصل را بازگشت می‌دهد. برای واکشی و تعریف حلقه تکرار روی رکوردهای شیء می‌توان از تابع‌های مختلفی استفاده کرد که در ادامه تعدادی از این توابع کاربردی آورده‌شده است.

  • تابع mysqli_fetch_all: در این تابع، نتایج پایگاه داده، به‌صورت آرایه‌های انجمنی یا عددی و غیره واکشی می‌شود.
  • تابع mysqli_fetch_array: در این تابع، امکان بازیابی برای ردیف تعیین شده، در هر بار فراخوانی فراهم می‌گردد.
  • تابع mysqli_fetch_assoc: مشابه تابع mysqli_fetch_all عمل می‌کند. با این تفاوت که تابع mysqli_fetch_assoc ردیف حاصل از مرحله قبل را با استفاده از حلقه While، واکشی می‌کند.
  • تابع mysqli_fetch_object: ردیف حاصل را تک‌به‌تک در مرحله واکشی به پایگاه داده mysql اضافه می‌کند.

حال که با این توابع پرکاربرد آشنا شدید؛ به تکه کد زیر توجه کنید.

<?php
$mysqli_link = mysqli_connect("localhost", "tutsplus-demo-user", "tutsplus-demo-password", "tutsplus-demo-database");
 
if (mysqli_connect_errno())
{
    printf("MySQL connection failed with the error: %s", mysqli_connect_error());
    exit;
}
 
$select_query = "SELECT * FROM students LIMIT 10";
$result = mysqli_query($mysqli_link, $select_query);
 
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    echo "First Name:" . $row['first_name'] . "<br/>";
    echo "Last Name:" . $row['last_name'] . "<br/>";
    echo "Email:" . $row['email'] . "<br/>";
    echo "<br/>";
}
 
// close the db connection
mysqli_close($mysqli_link);
?>

در ادامه قطعه کد While هم به شرح زیر کدنویسی می‌شود. با اجرای هر کدام از این تکه کدها می‌توانید رکوردهای عددی یا حتی آرایه‌ای را از پایگاه داده mysqli واکشی کرده و نمایش دهید.

…
…
while ($row = mysqli_fetch_object($result)) {
    echo "First Name:" . $row->first_name . "<br/>";
    echo "Last Name:" . $row->last_name . "<br/>";
    echo "Email:" . $row->email . "<br/>";
    echo "<br/>";
}
...
...

شیوه حذف رکورد

۴- نحوه حذف رکورد در Mysql

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

<?php
$mysqli_link = mysqli_connect("localhost", "tutsplus-demo-user", "tutsplus-demo-password", "tutsplus-demo-database");
 
if (mysqli_connect_errno())
{
    printf("MySQL connection failed with the error: %s", mysqli_connect_error());
    exit;
}
 
$delete_query = "DELETE FROM students WHERE `email` = 'john.wood@tutsplus.com'";
  
// run the update query
If (mysqli_query($mysqli_link, $delete_query)) {
    echo 'Record deleted successfully.';
}
  
// close the db connection
mysqli_close($mysqli_link);
?>

سخن آخر در رابطه با نحوه اتصال Php به Mysql

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

mysql مانند ستون فقرات پروژه وب برای طرحان صفحات وب است. اگر در طراحی و مدیریت آن، مهارت‌های کافی را به‌دست آورید؛ می‌توان گفت که تا میانه راه طراحی صفحات وب را رفته‌اید. چرا که این ستون، می‌تواند گاهی Cms یا گاهی پلتفرمی جهت ردیابی کار آنلاین باشد. جمله آخر این‌که نظرات، انتقادات و پیشنهادات خود را با ما به اشتراک بگذارید. موفق و کامیاب باشید.

یک پاسخ

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

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