본문 바로가기
개발/PHP

[PHP] mysql_connect, mysql_fetch_assoc 관련

by 언제나초심. 2013. 7. 6.
반응형

개요

mysql 관련 함수들이 헛갈려서 정리를 좀 해보았습니다.



mysql 관련 함수들

앞에 @를 붙이는 경우.

- 에러 출력을 안 하기 위해서 붙이는 것으로 보임. 



mysql_connect(호스트,유저,암호)  

- 리턴값 : connection 개체

- mysql 커넥션 하는 것.



mysql_query(쿼리)

- 리턴값 : resource 개체

- 쿼리를 날리고 결과값을 받아온다.



mysql_fetch_row(resource)

- 리턴값 : 배열

- 한 건의 값을 인덱스배열로 리턴한다. 

- row[0] 이런식으로 써야함..



mysql_fetch_array(resource)

- 리턴값 : 배열 

- 0 1 인덱스배열과 + 이름가진 배열을 합쳐서 리턴한다.

- row[0] + row[name] 이런식..



mysql_fetch_assoc(resource)

- 리턴값 : 배열

- 인덱스배열을 빼고, 이름을 지닌 배열을 리턴한다.

- row[name] 이런식.



mysql_fetch_array 와 mysql_fetch_assoc

- fetch_array 에서 불필요한 인덱스배열 값만 빼버린 것이 fetch_assoc 으로 보면 된다.

- while 없이 대입하면, 하나의 로우 만 갖고 있다.

- while 구문에서 row 에 다음 행 값이 들어가면서 반복구문을 도는 셈이다. 



mysql_num_rows(resource)

- 리턴값 : 숫자

- 쿼리 결과 값의 행수를 리턴한다.




mysqli 와 mysql

mysqli 와 mysql

- php5 부터 mysqli 를 권장하는 것 으로 보인다. http://www.php.net 에서 검색해보면, 뭐라뭐라 한다.


mysql 커넥션 방식


$con = mysql_connect(호스트,유저,암호);
mysql_select_db(디비명,$con)



mysqli 커넥션 방식(순차적)


$con = mysqli_connect(호스트,유저,암호,디비명);
if(mysqli_connect_errno($con)){ //여기는 실패 } else { //성공 }



mysqli 커넥션 방식(객체형)


$mysqli = new mysqli(호스트,유저,암호,디비명);
if(mysqli_connect_errno()){ //여기는 실패 } else { //성공 }

$query = "select ~~";

if($result = $mysqli->query($query)){
    while($row = $result->fetch_assoc()){
        $row["NAME"];
    }
    $result->free();
}
$mysqli->close();



연관 문서

  - [PHP, MYSQL] PHP + MYSQL 연결 테스트 예제 (mysqli 클래스 방식) (업데이트 2017-11-24)

  - [PHP, MYSQL] PHP + MYSQL 연결 테스트 예제 (pdo 방식) (업데이트 2017-11-24)


반응형

'개발 > PHP' 카테고리의 다른 글

[PHP] Deprecated features in PHP 5.3.x(PHP 5.2.x to PHP 5.3.x)  (0) 2013.07.15
$_SERVER 와 $_ENV  (0) 2013.07.10
PHP PCRE 정규표현식 ^  (0) 2013.07.07
eregi() -> preg_match()  (0) 2013.07.07
[PHP] 파일에 로그쓰기  (0) 2012.10.04
PHP RSS 전환 예제  (0) 2011.10.27
include include_once require require_once  (0) 2011.03.29
PHP 파일첨부 관련 메모  (0) 2010.07.27