PHP | MySQLでデータの重複をチェックする方法

PHP,PHP MySQL

PHPのMySQL処理でデータの重複をチェックする方法について紹介しています。

データの重複をチェックする

データの重複をチェックする場合、単純に重複の有無や数を確認するだけでしたら、mysqli_num_rows()でクエリのヒット数を取得する方法がwhile()でヒットしたデータを反復させずに済みますので簡単です。

// クエリ
$sql = "select * from tableName WHERE name = '$name'";

// クエリを実行する
$res = $mysqli->query($sql);
if (!$res) {
	error_log($mysqli->error);
	exit;
}

// 重複データの有無をチェック
if (mysqli_num_rows($res) == 0) {
	// 重複するデータがない場合
}else{
	// 重複するデータがある場合
}

複数条件に一致する重複データの有無をチェックする場合は以下のようなPHPコードになります。

// クエリ
$sql = "select * from tableName WHERE name = '$name' && age = '20'";

// クエリを実行する
$res = $mysqli->query($sql);
if (!$res) {
	error_log($mysqli->error);
	exit;
}

// 重複データの有無をチェック
if (mysqli_num_rows($res) == 0) {
	// 重複するデータがない場合
}else{
	// 重複するデータがある場合
}

PHP,PHP MySQL

Posted by Yousuke.U