دستور 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 )';
ارسال نظر