메뉴 건너뛰기

프로그램언어

2017.03.06 20:28

php로 db 컨트롤 1

조회 수 15769 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
2001년도 ms 에서 나온  asp와 vb6.0을 공부했다. vb는 프로그램 처음 시작하는 사람들에게 참 좋은 것 같다.
재미있게 프로그램 원리를 배울수 있다. 쉽게 속성과 메소드를 찾아주는 vb를 접하다가 
직접 모든것을 코딩하는 c 언어를 보니 굉장히 어렵게 느껴졌다. 

그런 asp에 익숙했던 나는 php를 접하면서 php의 db컨트롤이 불편하게 느껴졌다. asp처럼 개체로 지원하는 것이 아니라 배열로 반환해 작업하는 것이 어렵게 느껴쪘다.

하지만 php5가 나오면서 많은 부분 편리하게 디비 컨트롤을 지원하고 있다. 좋은 기능이지만 아직도 많은 php 코드 작성자들은 옛날 방식으로 작성하는 것 같다. 편리하게 디비 컨트롤을 지원하는 php 디비관련 지원 기능을 보자

<?

$rs=new mysqli("localhost","username","password","dbname");
//php5에서 제공하는 mysqli 개체로 손쉽게 디비에 접속한다.

$nam=$_REQUEST["nam"];
$con=$_REQUEST["con"];
$title=$_REQUEST["title"];
$date=time();
// 이전 입력페이지에서 변수값을 받아온다.

$query="insert into gesi (nam,con,title,date) values ('$nam','$con','$title',$date)";
$rs->query($query);
// 새롭게 생성된 rs개체를 통해 디비에 자료를 입력한다. 새롭게 생성된 rs 개체는 mysqli 개체의 메소드등을 실행시킬수 있다.

$query="select * from gesi";


$rs2=$rs->query($query);
//레코드셋을 만든다. 또 다른 rs2 개체가 생성되었다. rs2 도한 mysqli 개체의 메소드등을 그대로 사용할수 있다.
$num=$rs2->num_rows;

 //레코드 갯수를 얻는다. $num 변수에는 레코드 갯수가 저장된다.

for ($i=0;$i<$num;$i++)
{
$row=$rs2->fetch_object();
// 레코드 셋으로 만들어진 데이터가 개체형으로 변환된다. 기존 php4등에서는 연관배열등으로 자료를 받았지만
    php5에서는 개체형으로 자료를 받아 손쉽게 데이터를 처리한다.
$data=$row->date;
$data=date('y-m-d',$data);
echo"제목 :". $row->title ."<br> 이름:". $row->nam ."<br> 내용:". $row->con ."<br>".$data."<p>";
//$row->title 로 자료를 표시한다. 배열이 아닌 객체형으로 표현가능하다.
}

$rs->close();
// 스크립트가 실행되면 디비와 생성된 개체가 없어지므로 디비연결을 닫지 않아도 무방하다.

?>

* mysqli 확장 묘듈이 제공하는 api
mysqli_query() 연결된 데이터 베이스에 sql 문을 실행한다.
mysqli_num_rows() 검색된 레코드의 총 갯수를 반환
mysqli_fetch_array() 레코드셋에서 연관배열로 반환
mysqli_fetch_object() 레코드셋에서 하나의 레코드를 객체로 반환
'''등등


List of Articles
번호 제목 날짜 조회 수
240 addslashes — 문자열을 슬래시로 인용 2016.12.23 23083
239 stripslashes — 따옴표 처리한 문자열을 풉니다 2016.12.23 20486
238 stripcslashes — addcslashes()로 인용한 문자열을 되돌림 2016.12.23 20442
237 implode — 문자열로 배열 원소를 결합 2016.12.23 19951
236 mysql_insert_id 2016.12.23 18750
235 mysql_result — 결과 데이터를 반환 2016.12.23 18967
234 parse_ini_file — Parse a configuration file 2016.12.23 19774
233 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18807
232 is_array — 변수가 배열인지 확인 2016.12.23 18048
231 ini_get - php.ini에 지정되어 있는 지시어의 값을 읽어온다 2016.12.23 19520
230 class_exists 클래스가 정의되었는지 확인 2016.12.23 19881
229 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18640
228 call_user_func 사용자가 정의한 함수를 호출하여 실행고자 할 때 사용 2016.12.23 21305
227 array_key_exists 배열에서 key가 존재하는지 확인 2016.12.23 22206
226 quotemeta 모든 메타 문자앞에 역슬래쉬를 붙인 문자열을 반환 2016.12.23 20461
225 array_push 배열 끝에 하나 이상의 요소를 추가 2016.12.23 21604
224 glob 현재 디렉토리에서 pattern에 일치하는 경로 이름을 배열로 반환 2016.12.23 19636
223 gd_info 사용 가능한 GD 라이브러리에 대한 정보를 배열로 반환 2016.12.23 17989
222 headers_sent 헤더 전송 여부를 확인 2016.12.23 19409
221 fileatime 파일에 최종적으로 접근한 시간을 반환 2016.12.23 18117
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved