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، برای مدیریت تراکنش‌ها و اطمینان از درج موفقیت‌آمیز رکوردها از تراکنش‌ها بهره می‌برید.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

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

نظرات

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

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