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

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

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us