به روزرسانی داده (MySQL Update Data)
در «به روزرسانی داده (Update)» مقدارِ رکورد تغییر می کند. «رکورد (Record)» یعنی یک سطر از جدول. همیشه شرط «Where» بگذار؛ وگرنه همه سطرها تغییر می کنند.
الگوی دستور UPDATE
این الگو ستون ها را عوض می کند. سپس با WHERE محدوده را مشخص کن.
UPDATE table_name;
SET column1 = value1, column2 = value2;
WHERE some_column = some_value;
هشدار: حذف WHERE یعنی تغییر همه رکوردها. خیلی دقت کن.
به روزرسانی با MySQLi (شی گرا)
در این نمونه، فامیلیِ کاربر با id=2 می شود «Doe». اتصال را چک کن. سپس کوئری را اجرا کن.
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
به روزرسانی با MySQLi (رویه ای)
همان کار را با سبک رویه ای می زنیم. باز هم WHERE فراموش نشود.
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
به روزرسانی با PDO (+ آماده سازی)
در «آماده سازی (Prepared Statement)» کوئری امن تر می شود. خطاها هم با استثنا مدیریت می شوند.
<?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);
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
$stmt = $conn->prepare($sql);
$stmt->execute();
echo $stmt->rowCount() . " records UPDATED successfully";
} catch (PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
گام های عملی آپدیت امن
- از داده ها پشتیبان بگیر.
- WHERE دقیق بنویس و تست کن.
- UPDATE را اجرا کن.
- با SELECT نتیجه را چک کن.
نکته: ابتدا همان WHERE را با SELECT امتحان کن. اگر درست بود، سپس UPDATE بزن.
ادامه مسیر
- شرط Where (MySQL Where) برای نوشتن شرط های دقیق.
- مرتب سازی (MySQL Order By) برای چیدمان نتایج.
- حذف داده (MySQL Delete Data) وقتی به حذف نیاز داری.
جمع بندی سریع
- آپدیت حتماً با WHERE انجام شود.
- MySQLi و PDO هر دو مناسب اند.
- Prepared امن تر و تمیزتر است.
- پس از آپدیت، نتیجه را بررسی کن.