-
-
define('DSN', 'mysql:host=127.0.0.1;dbname=baozhong_tour'); //데이터베이스 주소 및 데이터베이스 이름에 대한 상수 - define('DB_USERNAME', 'root'); //데이터베이스 사용자 이름
- define('DB_USERPWD', '') //데이터베이스 비밀번호
- ?> ;
- /**
- * @author shuimugan
- * @version 0.2
- * @return PDOStatement
- */
- function getConn() {
- try {
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD); pdo 객체 생성, 데이터베이스 매개변수 정보 전달
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) //데이터베이스 오류 정보 설정
- $db->query('set names utf8 ; '); //인코딩을 utf8로 설정
- return $db;}
- catch (PDOException $e) {
- echo '데이터 처리 오류입니다. 웹사이트 관리자에게 문의하세요!'; > print_r($e);//매우 상세한 오류 메시지, 온라인에 접속한 후 이 문장을 댓글로 달아야 합니다!
- return false
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 테이블 이름, 유형은 문자열
- * @param Array $column_name 열 이름, 배열 형식이 필요합니다
- * @ param String $condition 조건, 예: 'where name=? and pws=?' 또는 'name like?'
- * @param Array $condition_value 조건에 해당하는 데이터, 유형은 ' name=? 및 pws =?',
- * @return 배열은 결과 집합 배열 형식을 반환합니다.
- * @example $column_name=array('*')
- $condition_value=array('1') ;
- $limit='limit 0,10';
- $res=easy_select('user', $column_name, 'where id=?', $condition_value,$limit);*/
- function easy_select($tablename,$column_name,$condition,$condition_value,$limit) {
- try {
- $db=getConn()
- $sql='select ';//SQL 문 초기화
- foreach ($column_name as $col_name) {
- //SQL 문에 열 이름을 동적으로 추가합니다.
- if($col_name=='*'){
- $sql.='*' ;
- break;
- }
- if($col_name==end($column_name))
- {
- $sql.=$col_name." ";//마지막인 경우 ,
- }else {
- $sql.=$col_name.", ";//열 이름 쉼표
- }
- }
- $sql로 연결되지 않습니다. .="from ".$tablename." " ;//스플라이싱 테이블 이름
- $sql.=$condition.';//스플라이싱 조건문
- if(strlen($limit)>0){
- $sql.=$limit;/ /Splice 제한 문
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//pdo 객체 생성 및 데이터베이스 매개변수 정보 전달
- $ db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//데이터베이스 오류 정보 설정
- $db->query('set names utf8;');//인코딩을 utf8로 설정
- $stmt = $db->prepare($ sql);
- $i=1;//계산 시작,
- $j=count($condition_value)
- $i <= $j; ) {
- $stmt->bindParam($i, $condition_value[$i-1]);// 매개변수 바인딩
- $i>}
- // 쿼리
- $stmt-> setFetchMode(PDO::FETCH_ASSOC);//필드를 통해 데이터를 가져오도록 설정
- $stmt->execute()
- //데이터 가져오기
- return $stmt->fetchAll();
- //return $stmt->rowCount();
- } catch (PDOException $e) {
- return false
- echo '데이터 처리 오류; 웹사이트 관리자에게 문의하세요!';
- print_r ($e);//매우 상세한 오류 메시지입니다.
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 테이블 이름, 유형은 문자열
- * @param Array $column_name 열 이름, 배열 형식이 필요합니다
- * @ param String $condition 조건, 예: 'where name=? and pws=?' 또는 'name like?'
- * @param Array $condition_value 조건에 해당하는 데이터, 유형은 ' name=? 및 pws =?',
- * @return int는 레코드 수를 반환합니다.
- * @example $column_name=array('*')
- $condition_value=array('1');
- $limit ='limit 0,10';
- $res=easy_selectCount('user', $column_name, 'where id=?', $condition_value,$limit)
- */
- function easy_selectCount($tablename,$ column_name,$condition,$condition_value,$limit) {
- try {
- $db=getConn()
- $sql='select ';/ /SQL 문 초기화
- foreach ($column_name as $col_name) {
- //SQL 문에 열 이름을 동적으로 추가합니다.
- if($col_name=='*'){
- $sql. ='*';
- break;
- }
- if($col_name==end($column_name))
- {
- $sql.=$col_name." ";//If 마지막 명령문입니다.
- }else {
- $sql.=$col_name.", ";//열 이름 쉼표 연결
- }
- }
- $sql .="from ".$tablename." ";//스플라이싱 테이블 이름
- $sql.=$condition.';//스플라이싱 조건문
- if(strlen($limit)>0){
- $sql.=$limit;//접속 제한문
- }
- ;
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//pdo 객체를 생성하고 데이터베이스 매개변수 정보를 전달합니다
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO: :ERRMODE_EXCEPTION );//데이터베이스 오류 정보 설정
- $db->query('set names utf8;');//인코딩을 utf8로 설정
- $stmt = $db->prepare($sql) ;
- $i=1;//계산 시작,
- $j=count($condition_value)
- for (; $i <= $j; ) {
- $stmt- >bindParam($i, $condition_value[$i-1]);// 매개변수 바인딩
- $i
- }
- // 쿼리
- //$stmt-> setFetchMode( PDO::FETCH_ASSOC);//필드를 통해 데이터를 가져오도록 설정
- $stmt->execute()
- // 데이터 가져오기
- return $stmt->rowCount(); >} catch (PDOException $e) {
- return false;
- echo '데이터 처리 오류입니다. 웹사이트 관리자에게 문의하세요!'
- print_r($e);//매우 자세한 오류 정보가 있어야 합니다. 온라인 접속 후 댓글 작성
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 테이블 이름, 유형은 문자열
- * @param Array $column_name 열 이름, 배열 형식이 필요합니다
- * @ param Array $column_value 해당 데이터, 필수 배열 형식
- * @return int 마지막으로 증가한 ID를 반환합니다.
- * @example $column_name=array('pwd','ip','name')
- $ column_value=array('1246','11.11.11.11','장산')
- echo easy_insert('user',$column_name,$column_value);*/
- function easy_insert($tablename,$column_name,$column_value) {
- try {
- $db= getConn();
- $sql='INSERT INTO ';//SQL 문 초기화
- $sql.=$tablename.' (';//테이블 이름 접합
- foreach($column_name as $col_name) {
- //SQL 문에 열 이름을 동적으로 추가합니다.
- if($col_name==end($column_name))
- {
- $sql.=$col_name." )" ;//다음에 속한다면 오른쪽 대괄호를 붙여주세요
- }else {
- $sql.=$col_name.", ";//열 이름을 쉼표로 붙여주세요
- }
- }
- $sql.=' VALUES ( ';//$condition_value 문 접합
- for ($i=0; $i < count($column_name); $i ) {//물음표 접합?
- if ($i==count($column_name) )-1) {
- $sql.='?) ;'
- }else {
- $sql.='?,'; }
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//pdo 객체를 생성하고 데이터베이스 매개변수 정보를 전달
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO: :ERRMODE_EXCEPTION);//데이터베이스 오류 정보 설정
- $db->query('set names utf8;');//인코딩을 utf8로 설정
- $stmt = $db->prepare($sql) ;
- for ($i=1; $ i <= count($column_name); $i ) {//물음표 연결
- $stmt->bindParam($i, $column_value[$i -1]);
- / / 쿼리
- //echo $sql
- $stmt->setFetchMode(PDO::FETCH_ASSOC);//필드를 통해 데이터를 가져오도록 설정
- $stmt->execute(); / / 데이터 가져오기
- return $db->lastInsertId()
- } catch(PDOException $e) {
- return false; echo '데이터 처리 오류입니다. 웹사이트 관리자에게 문의하세요!'
- print_r($e);//매우 자세한 오류 메시지입니다.
- }
- }
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 테이블 이름, 유형은 문자열
- * @param Array $column_name 열 이름, 배열 형식이 필요합니다
- * @ param Array $column_value는 배열 형식이 필요한 데이터에 해당합니다.
- * @param String $condition은 'where id=?'와 같은 where 문 문자열에 해당합니다.
- * @param Array $condition_value는 데이터 유형은 배열이어야 합니다.
- * @return int 영향을 받은 데이터 행의 수를 반환합니다.
- * @example $column_name=array('pwd','ip','name') ;
- $column_value=array( '123456','127.152.123.132','장산')
- $condition_value=array('1')
- easy_update('user',$column_name, $column_value,'ID=?',$condition_value,null)
- */
- function easy_update( $tablename,$column_name,$column_value,$condition,$condition_value,$limit) {
- try {
- $db=getConn()
- $sql='UPDATE';//SQL문 초기화
- $sql.=$tablename.' SET ';//테이블명 접합
- foreach ($column_name as $col_name) {
- //동적으로 SQL 문에 열 이름 추가
- if($col_name= =end($column_name))
- {
- $sql.=$col_name." = ? ";//마지막에 속하는 경우
- }else {
- $sql.=$col_name." = ?, ";//열 이름 쉼표 접합
- }
- }
- $sql.=$condition;//조건문 접합
- if(strlen($limit)>0){
- $sql.=$limit;//접속 제한문
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);/ /pdo 객체 생성 및 데이터베이스 매개변수 정보 전달
- $db- >setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//데이터베이스 오류 정보 설정
- $db->query('이름 설정 utf8;');//인코딩을 utf8로 설정
- $stmt = $db->prepare($sql);//문 준비
- $i=1
- $total=count($column_name; ) count($condition_value);
- for (;$i < ;= count($column_name);) {
- $stmt->bindParam($i, $column_value[$i-1]);/ /컬럼 이름에 해당하는 데이터 매개변수 바인딩
- $i;
- }
- $j=1
- for (;$i <= $total;) {
- $stmt- >bindParam($i, $condition_value[$j-1]);/ /데이터 매개변수에 해당하는 바인딩 조건
- $i
- $j;
- //Query
- $stmt->setFetchMode(PDO::FETCH_ASSOC);//필드를 통해 데이터를 가져오도록 설정
- $stmt->execute()
- //데이터 가져오기
- return $stmt->rowCount();
- } catch (PDOException $e) {
- return false
- echo '데이터 처리 오류입니다. 웹사이트 관리자에게 문의하세요!'; ( $e);//매우 상세한 오류 메시지, 온라인에 접속한 후 이 문장을 댓글로 달아야 합니다!
- /**
- * @author shuimugan
- * @version 0.2
- * @param String $tablename 테이블 이름
- * @param String $condition 조건(예: 'where id= ?') * @param Array $ Condition_value 조건에 해당하는 값은? 해당 값
- * @param String $limit 'limit 0,1'과 같은 제한 문
- * @return int 영향을 받은 결과 수를 반환합니다
- * @ 예 $condition_value=array( '83'); echo easy_delete('user', 'where id=?', $condition_value, null);*/
- function easy_delete($tablename,$ 조건 ,$condition_value,$limit) {
- try {
- $db=getConn();
- $sql='DELETE FROM ';//SQL 문 초기화
- $sql.=$tablename. ' ';//스플라이싱 테이블 이름
- $sql.=$condition;//스플라이싱 조건문
- if(strlen($limit)>0){
- $sql.=$limit;// 접합 제한문
- }
- $db = new PDO(DSN, DB_USERNAME, DB_USERPWD);//pdo 객체를 생성하고 데이터베이스 매개변수 정보를 전달합니다
- $db->setAttribute(PDO::ATTR_ERRMODE , PDO: :ERRMODE_EXCEPTION);//데이터베이스 오류 정보 설정
- $db->query('set names utf8;');//인코딩을 utf8로 설정
- $stmt = $db->prepare( $sql) ;//준비된 문장
- for ($i=1;$i <= count($condition_value);) {
- $stmt->bindParam($i, $condition_value[$i- 1]) ;//바인딩 조건에 해당하는 데이터 매개변수
- $i
- }
- // Query
- $stmt->setFetchMode(PDO::FETCH_ASSOC);//데이터를 얻기 위해 설정 필드를 통해
- $stmt->execute();
- // 데이터 가져오기
- return $stmt->rowCount()
- } catch(PDOException $e) {
- return false ;
- echo '데이터 처리 오류입니다. 웹사이트 관리자에게 문의하세요!'
- print_r($e);//매우 상세한 오류 메시지입니다.
} - ?>
-
-
-
- 코드 복사
-
-
-
|