본문 바로가기
MySql

MySQL PHP를 사용하여 MySQL에 행이 있는지 확인하는 방법

by 베이스 공부 2020. 10. 6.
반응형

XML 파일을 읽고 기존 데이터베이스의 필드와 비교하려고합니다.

데이터베이스의 ID가 XML 파일에 없으면 Id에 해당하는 전체 행이 더 이상 유효하지 않으며 삭제됩니다.

이를 위해 while 문에서 처음부터 끝까지 XML의 각 줄을 읽었습니다.

1 단계로 간단한 비교를 시도하고 XML에 존재하지 않는 데이터베이스에서 ID를 찾으면 에코합니다.

XML에 존재하지 않는 일부 Id가 데이터베이스에 있음을 알고 있지만 다음 코드는이를 표시하지 않습니다.

세 가지 질문이 있습니다. 첫째는 데이터베이스에서 가져온 Id를 어떻게 표시하고 둘째로이 코드가 XML에없는 ID를 찾지 못하는 이유는 무엇입니까?

마지막 질문은 내가 완전히 잘못된 방식으로 진행하고 있으며 더 나은 방법이 있는지 여부입니다!

$sql_result = mysql_query("SELECT id FROM `list` WHERE id =  $id") or die(mysql_error());

if($sql_result)
{
// echo $id . " Id exists " .  $sql_result["id"] . "\n";
}
else
{
echo "Id no longer exists" . $id . "\n";
}

 

해결 방법

 

다음을 확인하는 올바른 방법입니다.

$sql_result = mysql_query("SELECT `id` FROM `list` WHERE `id` =  ".intval($id,10)." LIMIT 0,1");

if(is_resource($sql_result) && mysql_num_rows($sql_result) > 0 ){
    $sql_result = mysql_fetch_assoc($sql_result);
    echo $id . " Id exists " .  $sql_result["id"] . "\n";
}
else{
    echo "Id no longer exists" . $id . "\n";
}

 

참조 페이지 https://stackoverflow.com/questions/6344779

 

 

반응형

댓글