programing

MySQL UPDATE가 언제 성공했는지와 실제로 업데이트된 데이터를 구분하려면 어떻게 해야 합니까?

closeapi 2023. 9. 8. 21:31
반응형

MySQL UPDATE가 언제 성공했는지와 실제로 업데이트된 데이터를 구분하려면 어떻게 해야 합니까?

MySQL UPDATE가 언제 성공했는지와 실제로 업데이트된 데이터를 구분하려면 어떻게 해야 합니까?

예:

TABLE
id    city_name
1     Union
2     Marthasville

다음을 실행하면 다음과 같습니다.

$data = array('city_name', 'Marthasville');

//update record 2 from Marthasville to the same thing, Marthasville. 
$this->db->where('id', 2);
$this->db->update('table', $data);

if($this->db->affected_rows() > 0)
{
    //I need it to return TRUE when the MySQL was successful even if nothing was actually updated.
    return TRUE;
}else{
    return FALSE;
}

이것은 돌아올 것입니다.TRUEUPDATE 문이 성공할 때마다 행이 실제로 업데이트되지 않은 경우 FALSE.

다시 돌아오려면 그것이 필요합니다.TRUE실제로 레코드를 변경하지 않더라도 UPDATE 문이 성공적으로 실행될 때마다.

mysql_imped_rows() 보기

아무것도 성공적으로 업데이트되지 않은 것이 아니라 실제로 업데이트된 것이 있는지 알려주어야 합니다.

php.net 은 다음과 같이 말합니다.

mysql_imped_rows''

성공 시 영향을 받는 행 수를 반환하고 마지막 쿼리가 실패한 경우 -1을 반환합니다.

다음을 사용하여 원하는 결과를 얻을 수 있습니다.

if($this->db->affected_rows() >= 0){ }

그런 다음 mysql_query를 사용합니다.

SQL 문, INSERT, UPDATE, DELETE, DROP 등, mysql_query()는 성공 시 TRUE를 반환하거나 오류 시 FALSE를 반환합니다.

이와 같이 간단합니다.

$result = $this->db->update('table', $data);

if($result)
{
     //without error even no row updated
} else {

}

언급URL : https://stackoverflow.com/questions/7368225/how-do-i-tell-when-a-mysql-update-was-successful-versus-actually-updated-data

반응형