MySQL 데이터베이스에 값이 있는지 확인하는 방법
이 테이블이 있다고 가정해 보겠습니다.
id | name | city
------------------
1 | n1 | c1
2 | n2 | c2
3 | n3 | c3
4 | n4 | c4
값이 얼마인지 확인하고 싶습니다.c7
변수 아래에 존재합니다.city
그렇지 않으면.
만약 그렇게 된다면, 저는 뭔가를 할 것입니다.
만약 그렇지 않다면, 저는 다른 일을 할 것입니다.
MySQLi 확장자를 사용하는 바람직한 방법(PHP 5 이후부터 지원):
$mysqli = new mysqli(SERVER, DBUSER, DBPASS, DATABASE);
$result = $mysqli->query("SELECT id FROM mytable WHERE city = 'c7'");
if($result->num_rows == 0) {
// row not found, do stuff...
} else {
// do other stuff...
}
$mysqli->close();
PHP 7 이상에서는 더 이상 사용되지 않으며 지원되지 않음:
$result = mysql_query("SELECT id FROM mytable WHERE city = 'c7'");
if(mysql_num_rows($result) == 0) {
// row not found, do stuff...
} else {
// do other stuff...
}
정확한 일치를 위해
"SELECT * FROM yourTable WHERE city = 'c7'"
패턴 / 와일드카드 검색의 경우
"SELECT * FROM yourTable WHERE city LIKE '%c7%'"
물론 당신은 바꿀 수 있습니다.'%c7%'
로.'%c7'
아니면'c7%'
검색하는 방법에 따라 달라질 수 있습니다.정확한 일치를 위해 첫 번째 쿼리 예제를 사용합니다.
PHP
$result = mysql_query("SELECT * FROM yourTable WHERE city = 'c7'");
$matchFound = mysql_num_rows($result) > 0 ? 'yes' : 'no';
echo $matchFound;
사용할 수도 있습니다.if
그곳의 조건.
연결이 설정되어 있고 글로벌 범위에서 사용 가능하다고 가정합니다.
//Check if a value exists in a table
function record_exists ($table, $column, $value) {
global $connection;
$query = "SELECT * FROM {$table} WHERE {$column} = {$value}";
$result = mysql_query ( $query, $connection );
if ( mysql_num_rows ( $result ) ) {
return TRUE;
} else {
return FALSE;
}
}
Usage : $username 변수에 체크 대상 값이 저장되어 있다고 가정합니다.
if (record_exists ( 'employee', 'username', $username )){
echo "Username is not available. Try something else.";
} else {
echo "Username is available";
}
이것은 저에게 효과가 있습니다.
$db = mysqli_connect('localhost', 'UserName', 'Password', 'DB_Name') or die('Not Connected');
mysqli_set_charset($db, 'utf8');
$sql = mysqli_query($db,"SELECT * FROM `mytable` WHERE city='c7'");
$sql = mysqli_fetch_assoc($sql);
$Checker = $sql['city'];
if ($Checker != null) {
echo 'Already exists';
} else {
echo 'Not found';
}
SELECT
IF city='C7'
THEN city
ELSE 'somethingelse'
END as `city`
FROM `table` WHERE `city` = 'c7'
제가 잠깐 이거 하려고 했는데.$sqlcommand = 'SELECT * FROM database WHERE search="'.$searchString.'";';
두 개의 동일한 항목이 있는 경우에만 작동하지만, 대체하는 경우에는
$sth = $db->prepare($sqlcommand); $sth->execute(); $record = $sth->fetch(); if ($sth->fetchColumn() > 0){}if ($sth->fetchColumn() > 0){}
와 함께if ($result){}
딱 하나의 일치하는 기록으로 작동합니다. 이게 도움이 되길 바랍니다.
사용하다
select count(city) from mytable where city = 'c7'
이렇게 하면 쿼리에서 단일 값만 전송됩니다.0이면 존재하지 않으며, 그렇지 않으면 존재합니다.다른 열 값을 사용하지 않기 때문입니다.
ID 일치 시:
Select * from table_name where 1=1
패턴 일치:
Select * from table_name column_name Like '%string%'
$result = mysqli_query($conn, "SELECT * FROM WHERE = ''"; $found = mysqli_num_rows ($result) > 0? '예' : '아니오'; echo $found;
PHP Version 8을 사용하는 경우에 저와 함께 작동한 내용은 다음과 같습니다.
$result = mysqli_query(database name, "SELECT id FROM mytable WHERE city = 'c7'");
if(mysqli_num_rows($result) == 0) {
// Do Something
}
else {
// Do something else
}
내 답변과 순록 위트와의 차이점은 mysqli_query와 mysqli_num_rows()의 'i'입니다.
사용 중인 mysqli_query() 내부의 데이터베이스 이름도 포함합니다.
언급URL : https://stackoverflow.com/questions/11292468/how-to-check-if-value-exists-in-a-mysql-database
'programing' 카테고리의 다른 글
PHP: 클래스는 "Call to private method ... from context ..." 문제를 확장합니다. (0) | 2023.10.09 |
---|---|
Oracle Server에서 문자열의 첫 번째 문자 제거 (0) | 2023.10.09 |
jQuery로 JSON ajax 요청에서 404의 함수를 콜백하는 방법은 무엇입니까? (0) | 2023.10.09 |
Win32 API를 사용하여 USB 드라이브를 안전하게 제거하시겠습니까? (0) | 2023.10.09 |
REST API를 이용하여 우커머스의 모든 제품 가져오기 (0) | 2023.10.09 |