PHP – درج چندین رکورد در MySQL

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

استفاده از MySQLi

1. MySQLi به روش شیء‌گرا

برای درج چندین رکورد با MySQLi به روش شیء‌گرا، از تابع multi_query() استفاده می‌کنیم. توجه داشته باشید که هر عبارت SQL باید با یک نقطه‌ویرگول (;) جدا شود.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// ایجاد اتصال
$conn = new mysqli($servername, $username, $password, $dbname);

// بررسی اتصال
if ($conn->connect_error) {
  die("اتصال ناموفق: " . $conn->connect_error);
}

// چندین دستور SQL برای درج رکوردها
$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')";

// اجرای چندین دستور SQL
if ($conn->multi_query($sql) === TRUE) {
  echo "رکوردهای جدید با موفقیت ایجاد شدند";
} else {
  echo "خطا: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

2. MySQLi به روش رویه‌ای

در اینجا نیز همانند روش شیء‌گرا عمل می‌کنیم اما با استفاده از توابع رویه‌ای MySQLi:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// ایجاد اتصال
$conn = mysqli_connect($servername, $username, $password, $dbname);

// بررسی اتصال
if (!$conn) {
  die("اتصال ناموفق: " . mysqli_connect_error());
}

// چندین دستور SQL برای درج رکوردها
$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')";

// اجرای چندین دستور SQL
if (mysqli_multi_query($conn, $sql)) {
  echo "رکوردهای جدید با موفقیت ایجاد شدند";
} else {
  echo "خطا: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);
?>

استفاده از PDO

در PDO، برای درج چندین رکورد، معمولاً از تراکنش‌ها استفاده می‌کنیم تا از اطمینان از درج موفقیت‌آمیز تمامی رکوردها اطمینان حاصل کنیم. در این روش، با استفاده از beginTransaction(), commit(), و rollback()، تراکنش‌ها را مدیریت می‌کنیم.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
  // ایجاد اتصال
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  // تنظیم حالت خطا به استثنا
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // شروع تراکنش
  $conn->beginTransaction();
  
  // دستورات SQL برای درج رکوردها
  $conn->exec("INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')");
  $conn->exec("INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com')");
  $conn->exec("INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')");

  // تأیید تراکنش
  $conn->commit();
  echo "رکوردهای جدید با موفقیت ایجاد شدند";
} catch(PDOException $e) {
  // برگشت تراکنش در صورت بروز خطا
  $conn->rollback();
  echo "خطا: " . $e->getMessage();
}

$conn = null;
?>

در این مثال‌ها، استفاده از MySQLi و PDO برای درج چندین رکورد در پایگاه داده MySQL را بررسی کردیم. با استفاده از MySQLi، می‌توانید از تابع multi_query() برای اجرای چندین دستور SQL استفاده کنید، در حالی که در PDO، برای مدیریت تراکنش‌ها و اطمینان از درج موفقیت‌آمیز رکوردها از تراکنش‌ها بهره می‌برید.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - رویدادها (Events)

JavaScript – رویدادها (Events)

رویدادهای HTML رویدادها در HTML، “اتفاقاتی” هستند که برای عناصر HTML رخ می‌دهند. این اتفاقات می‌توانند ناشی از کار...

بیشتر بخوانید
JavaScript - سازنده‌های شیء (Object Constructors)

JavaScript – سازنده‌های شیء (Object Constructors)

ساخت آبجکت با تابع سازنده (Object Constructor Function) برای ساخت چندین آبجکت مشابه، از تابع سازنده استفاده می‌شود. این...

بیشتر بخوانید
JavaScript - نمایش شیء (Object Display)

JavaScript – نمایش شیء (Object Display)

نحوه نمایش آبجکت‌ها در جاوااسکریپت هنگام نمایش یک آبجکت جاوااسکریپت به صورت مستقیم، خروجی معمولاً به شکل [object Object]...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.