테스트 사이트 - 개발 중인 베타 버전입니다

mysql delete문 성공여부 확인방법이있을까요? 채택완료

마린1 7년 전 조회 4,687

DELETE문을 사용해서 삭제가 완료되면 특정행동을 하고싶은데

 

성공여부 확인방법이 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
플래토
7년 전

http://php.net/manual/kr/mysqli.query.php" href="http://php.net/manual/kr/mysqli.query.php">http://php.net/manual/kr/mysqli.query.php

 

여기를 보시면

 

쿼리를 수행후 오류가 존재시 print를 시키는  구문이 있습니다

 

작동방법이

리턴값 자체가 

존재할때 성공이 없으면 오류로 판단하는 구조입니다.

 

실제 그누보드의 공통함수인

sql_qeury 구문을 찾아보면

 

function sql_query($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null) {

....

$result = @mysqli_query($link, $sql) or die("

$sql

" . mysqli_errno($link) . " : " .  mysqli_error($link) . "

error file : {$_SERVER['SCRIPT_NAME']}");

와 같은 형태로 된것 확인할수있습니다.

오류가 발생시 에러를 출력합니다.

 

또다른 확인방법으로는

 

삭제후 해당 Row를 재조회해면 됩니다.

존재하면 비정상적으로 삭제가 안된것이겠죠

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

마린1
7년 전
거의다 제가 해봤을땐 되지않아서 select 문으로 불러서 불러와지는것은 아직 삭제가 안되었다고 판단하고 수행하였습니다.

답변 달아주신 모든분들에게 감사의 말씀 드립니다.

댓글을 작성하려면 로그인이 필요합니다.

플라이
7년 전

$result = sql_query($sql);

 

이런식으로 처리후 if($result) 이런식으로 처리 완료시 체크 하는 방법이 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

C
7년 전

$sql = " delete... ";

 

if (sql_query($sql)) {

    // 삭제 시

}

 

이러면 안되나요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

SLOOP
7년 전

http://us.php.net/manual/en/function.mysql-affected-rows.php">http://us.php.net/manual/en/function.mysql-affected-rows.php

 

쿼리 수행후 

printf("Records deleted: %d\n", mysql_affected_rows());

 

해보시면 따로 select를 하지 않아도 바로 전 쿼리로 인해 몇개의 파일이 적용 되었는지 결과값을 얻을수있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인