دستور UPDATE بروزرسانی اطلاعات در MYSQL با PHP

دستور UPDATE در MYSQL با PHP – با استفاده از دستور update می توانید رکورد های مختلف را بروزرسانی کنید .
کافی است که آیدی رکورد یا هر چیز مشابه آن را وارد کنید یا حتی کل رکورد های یک جدول را update کنید .
در این مقاله قصد داریم که هم از mysqli و همینطور از stmt استفاده کنیم .
دستور update در MYSQL با PHP
استفاده از query معمولی mysqli
در این روش در صورتی که از کاربر ورودی دریافت نمی کنید استفاده کنید .
$mysqli = new mysqli("localhost", "root", "", "demo_db");
if ($mysqli->connect_error) {
die("MYSQL ISSUE : " . $mysqli->connect_error);
}
$mysqli->set_charset("utf8");
function is_row_exits($id) {
global $mysqli;
$query = "SELECT id FROM `my_tbl` WHERE id=$id";
$is_found = 0;
if ($res = $mysqli->query($query)) {
$is_found = $res->num_rows;
$res->close();
}
return $is_found;
}
$id = 2;
$rows_updated = false;
if (is_row_exits($id)) {
$query = "UPDATE `my_tbl` SET content='new content' WHERE id=$id";
$rows_updated = 1;
if ($mysqli->query($query)) {
$rows_updated = $mysqli->affected_rows ? $mysqli->affected_rows : 1;
}
}
$mysqli->close();
echo $rows_updated ? 'rows updated !' : 'cannot update row ( maybe does not exist )';
استفاده از query با کمک stmt ( جلوگیری از SQL injection )
در صورتی که ورودی را از کاربر دریافت می کنید این روش بسیار کاربردی خواهد بود :
$mysqli = new mysqli("localhost", "root", "", "demo_db");
if ($mysqli->connect_error) {
die("MYSQL ISSUE : " . $mysqli->connect_error);
}
$mysqli->set_charset("utf8");
$stmt = $mysqli->stmt_init();
function is_row_exits($user_id) {
global $mysqli;
global $stmt;
$query = "SELECT id FROM `my_tbl` WHERE id=?";
$is_found = 0;
$stmt->prepare($query);
$stmt->bind_param('i', $user_id);
if ($stmt->execute() && $stmt->store_result()) {
$is_found = $stmt->affected_rows;
$stmt->free_result();
}
return $is_found;
}
$user_id = 2;
$rows_updated = false;
if (is_row_exits($user_id)) {
$user_content = "new 2 content";
$query = "UPDATE `my_tbl` SET content=? WHERE id=?";
$rows_updated = 1;
$stmt->prepare($query);
$stmt->bind_param('si' , $user_content , $user_id);
if ($stmt->execute()) {
$rows_updated = $stmt->affected_rows ? $stmt->affected_rows : 1;
}
}
$stmt->close();
$mysqli->close();
echo $rows_updated ? 'rows updated !' : 'cannot update row ( maybe does not exist )';
ارسال نظر