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 - آرایه‌ها (Arrays)

JavaScript – آرایه‌ها (Arrays)

آرایه در جاوااسکریپت متغیری خاص است که می‌تواند بیش از یک مقدار را ذخیره کند. const cars = ["Saab",...

بیشتر بخوانید
JavaScript - ویژگی‌های عدد (Number Properties)

JavaScript – ویژگی‌های عدد (Number Properties)

در جاوااسکریپت، شیء Number شامل ویژگی‌هایی از پیش تعریف‌شده است که برای کار با اعداد مفید هستند. این ویژگی‌ها...

بیشتر بخوانید
JavaScript - متدهای عدد (Number Methods)

JavaScript – متدهای عدد (Number Methods)

در جاوا اسکریپت، متدهایی برای کار با اعداد ارائه شده‌اند که می‌توانند روی تمامی اعداد استفاده شوند. متدهای مربوط...

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

نظرات

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

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