편의상 php의 mysql와 관련된 함수들을 모아 class로 만들어서 사용하는 개발자들이 많다. 하지만 객체화 시키려면 굳이 mysql 함수군을 사용하지 말고 mysqli를 사용하면 된다. php에서 이미 객체화 시켜서 제공하고 있다. 조금만 있으면 이게 표준이 되고 mysql은 depricated된다고 하니 빨리 익숙해 두자.
mysql.inc.php
<?php $mysqli = new mysqli("localhost", "id", "password", "db"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } ?>
사용 할때마다 아이디 비밀번호를 치기 귀찮다면 위와 같은 파일을 만들어서 항상 include_once시킨다. 내부 내용은 프로젝트에 맞게 알아서 수정하면 된다.
간단한 INSERT 는 아래와 같이 한다.
<?php $query="INSERT INTO ..."; $mysqli->query($query); if($mysqli->insert_id) { //성공 처리 } else { //실패 처리 } ?>
insert된 id를 바로 알 수 있기 때문에 성공 처리를 할때 코딩하기가 한결 편해졌다.
UPDATE랑 DELETE도 비슷한 방식으로 간단하게 할 수 있다.
<?php $sql = "UPDATE table.."; if($result = $mysqli->query($sql)) { // 성공 처리 } else { // 실패 처리 echo $mysqli->error; } ?>
SELECT는 더 쉽다.
<?php $sql = "SELECT * FROM table"; while($result = $mysqli->query($sql)) { $row = $result->fetch_array(); echo $row['field']; } ?>
기존에 mysql과 관련된 함수를 객체화 해서 사용하던 개발자라면 mysqli라는 함수에 아주 쉽게 적응 할 수 있을 것이다. 이 외에도 편의상 많이 만들어 쓰던 함수들도 많이 구현되어 있다.
자세한건 http://www.php.net/manual/en/book.mysqli.php 를 참고 하길 바란다. 안전성이나 속도 면에서도 기존 함수보다 훨씬 우수하다고 하니 빨리 mysqli에 익숙해 지는게 좋을듯 한다.
'IT 실무 > 데이터베이스' 카테고리의 다른 글
mysql db를 전부 백업해서 옮기기(서버 이전 등) (0) | 2018.01.28 |
---|---|
[MySQL] Your password does not satisfy the current policy requirements (0) | 2017.01.01 |
MySQL 여러개의 필드를 묶어서 하나의 Primary Key로 만들기 (0) | 2015.07.19 |
[MySQL] 계정 생성, 권한 부여, 권한 삭제 등 (0) | 2013.02.07 |
[MySQL] 한글이 깨지는 문제 (0) | 2012.12.01 |
댓글