PHP و پایگاه داده: ثبت داده ها و دریافت آخرین ID ثبت شده

PHP 7 MySQL Insert

0 192

ثبت داده ها در پایگاه داده PHP

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

نکاتی که در این آموزش رعایت خواهیم کرد عبارت اند از:

  • کوئری SQL در زبان PHP باید درون علامت quotation (علامت ") باشد. در خود زبان SQL و محیط پایگاه داده از quotation استفاده نمی کنیم اما اگر بخواهیم از SQL درون زبان PHP (مثلا یک فایل PHP) استفاده کنیم حتما باید آن را داخل quotation قرار دهیم.
  • مقادیر رشته ای در کوئری های SQL باید درون quotation قرار بگیرند.
  • مقادیر Numeric (عددی) نباید درون quotation قرار بگیرند.
  • کلمه ی NULL نباید درون quotation قرار بگیرد.

اگر یادتان باشد در قسمت قبل جدولی به نام MyGuests ساختیم که در آن پنج ستون داشته باشیم.

نکته: اگر ستونی AUTO_INCREMENT باشد یا TIMESTAMP ای که به صورت پیش فرض روی current_timesamp (مانند ستون reg_date در خود جدول ما) باشد، نیازی به وارد کردن آن در کوئری نخواهیم داشت چرا که MySQL به صورت خودکار این فیلد ها را تنظیم خواهد کرد.

در مثال های زیر داده هایی را وارد جدول MyGuests خواهیم کرد.

مثال اول: MySQLi به صورت شیء گرا

مثال دوم: MySQLi به صورت رویه ای

مثال سوم: PDO

سوال: آیا می توانیم id آخرین INSERT یا UPDATE را دریافت کنیم؟

پاسخ: بله اگر AUTO_INCREMENT باشد! برخی اوقات نیاز است که آخرین INSERT یا UPDATE ایجاد شده را پیدا کنیم بنابراین اگر بخواهیم علاوه بر وارد کردن داده ها آخرین id وارد شده را نیز بگیریم و echo کنیم، باید کدهای بالا را بدین شکل ویرایش کنیم:

مثال اول: MySQLi به صورت شیء گرا

مثال دوم: MySQLi به صورت رویه ای

مثال سوم: PDO

INSERT چند گانه با mysqli_multi_query

MySQL می تواند با استفاده از تابع ()mysqli_multi_query چندین دستور SQL را یکجا اجرا کند. در مثال های زیر که طبق معمول به سه روش مختلف انجام داده ایم سه ردیف جدید به جدول MyGuests اضافه کرده ایم.

مثال اول: MySQLi به صورت شیء گرا

نکته: حواستان باشد که در این ساختار بین دستورات مختلف SQL از ویرگول انگلیسی (comma) استفاده شده است (ویرگول فارسی ، و ویرگول انگلیسی , است).

مثال دوم: MySQLi به صورت رویه ای

مثال سوم: PDO

روش PDO کمی متفاوت است:

امیدوارم از این قسمت لذت برده باشید.

ترتیبی که روکسو برای یادگیری مطالب سری آموزش PHP 7 به شما توصیه می‌کند:

ارسال نظر

توجه:‌ آدرس ایمیل شما منتشر نخواهد شد.