mysql_query

DB/MySQL 2010. 4. 27. 10:37

형식 : mysql_query ( string $query [, resource $link_identifier ] )
설명 : - mysql_query()link_identifier 로 지정한 데이터베이스 서버에 하나의 질의를 전송합니다.
          - 다중 질의는 지원하지 않습니다)
      - $query  : 문자열은 ; 로 끝나지 않아야 합니다.
         - $link_identifier : MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다.
           연결이 없으면, 인수 없이 mysql_connect()를 호출하여 연결을 만듭니다.
           연결이 성립되지 않으면 E_WARNING 등급의 오류를 생성합니다.

예1) 쿼리문에 오류가 있어 실패 $result 에는 false 가 들어감.
$result
= mysql_query ("SELECT * WHERE 1=1") or die ("잘못된 질의를 실행했습니다!!");

예2) 쿼리문에 오류가 있어 실패 $result 에는 false 가 들어감.
$result mysql_query('SELECT * WHERE 1=1');
if (!
$result) {
    die(
'Invalid query: ' mysql_error());
}


SELECT 일때 쿼리문만 형식에 맞다면 결과 값이 있던 없던 $result 에는 false 가 아닌 resource 가 들어가고
결과로 나온 행이 몇개 인지 확인 하려면 mysql_num_rows() 함수를 사용해서 확인 하면 된다.
$result mysql_query("SELECT name from member WHERE id='kbs'");
echo mysql_num_rows($result); --> 결과로 나온 행의 숫자를 알 수 있음.


INSERT, UPDATE, DELETE 일때 쿼리문만 맞다면 $result 에는 true 가 들어가고 몇개의 행이 영향을 받았는지 알려면
mysql_affected_rows() 함수를 사용해서 확인 하면 된다.

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('mydb');

/* this should return the correct numbers of deleted records */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n"mysql_affected_rows());

/* with a where clause that is never true, it should return 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d\n"mysql_affected_rows());
?>

'DB > MySQL' 카테고리의 다른 글

php mysql 연동 함수  (0) 2010.05.10
mysql_affected_rows, mysql_num_rows 차이  (0) 2010.05.10
MySQL 데이터 타입  (0) 2010.04.30
MySQL 날짜 / 시간 데이터 타입  (0) 2010.04.30
mysql_result, mysql_fetch_row, _array  (0) 2010.04.27
: