개요
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 |