킴스큐 RB를 이해하는데 도움이 되도록 함수에 설명을 좀 추가하고 있다.
<?php
function isConnectDb($db)
{
$conn = mysql_connect($db['host'].':'.$db['port'],$db['user'],$db['pass']);
$selc = mysql_select_db($db['name'],$conn); // 접근한 계정으로 사용할 수 있는 DB 선택
// 연결 식별자($conn) 는 생략 가능하며, 생략시 가장 최근에 설정한 연결 식별자가 사용된다.
return $selc ? $conn : false;
}
function db_query($sql,$con)
{
mysql_query('set names utf8',$con);
mysql_query('set sql_mode=\'\'',$con);
// 연결 식별자($conn) 는 생략 가능하며, 생략시 가장 최근에 설정한 연결 식별자가 사용된다.
return mysql_query($sql,$con);
}
function db_fetch_array($que)
{
// @는 PHP에서 수행에 지장이 없는 경고 메시지가 나타나지 않도록 하는 기호
// 결과 레코드 집합에서 한 레코드를 가져와 배열을 생성한다.
// mysql_fetch_array() 함수가 호출되면 결과 레코드 집합 식별자는 자동으로 다음 레코드로 이동된다
return @mysql_fetch_array($que);
}
function db_fetch_assoc($que)
{
// 가장 많이 사용되는 함수로써 키값을 가지고 데이터를 출력한다
return mysql_fetch_assoc($que);
}
function db_num_rows($que)
{
return mysql_num_rows($que);
}
function db_info()
{
return mysql_get_server_info();
}
function db_error()
{
// 오류의 내용을 문자열로 반환하는 함수
return mysql_error();
}
function db_close($conn)
{
// DB 접속을 종료하는 기능을 수행한다.
// mysql_close() 함수를 반드시 호출해야만 DB 연결이 종료되는 것은 아니다.
// 해당 PHP 스크립트의 수행이 종료됨과 동시에 DB와의 접속은 자동 종료된다.
return mysql_close($conn);
}
function db_insert_id($conn)
{
return mysql_insert_id($conn);
}
//DB-UID데이터
function getUidData($table,$uid)
{
return getDbData($table,'uid='.(int)$uid,'*');
}
//DB데이터 1ROW
function getDbData($table,$where,$data)
{
$row = db_fetch_array(getDbSelect($table,getSqlFilter($where),$data));
return $row;
}
//DB데이터 ARRAY
function getDbArray($table,$where,$data,$sort,$orderby,$recnum,$p)
{
global $DB_CONNECT;
$rcd = db_query('select '.$data.' from '.$table.($where?' where
'.getSqlFilter($where):'').' order by '.$sort.' '.$orderby.($recnum?'
limit '.(($p-1)*$recnum).', '.$recnum:''),$DB_CONNECT);
return $rcd;
}
//DB데이터 NUM
function getDbRows($table,$where)
{
global $DB_CONNECT;
$rows = db_fetch_array(db_query('select count(*) from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT));
return $rows[0] ? $rows[0] : 0;
}
//DB데이터 MAX
function getDbCnt($table,$type,$where)
{
global $DB_CONNECT;
$cnts = db_fetch_array(db_query('select '.$type.' from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT));
return $cnts[0] ? $cnts[0] : 0;
}
//DB셀렉트
function getDbSelect($table,$where,$data)
{
global $DB_CONNECT;
$r = db_query('select '.$data.' from '.$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
return $r;
}
//DB삽입
function getDbInsert($table,$key,$val)
{
global $DB_CONNECT;
db_query("insert into ".$table." (".$key.")values(".$val.")",$DB_CONNECT);
}
//DB업데이트
function getDbUpdate($table,$set,$where)
{
global $DB_CONNECT;
db_query("update ".$table." set ".$set.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
}
//DB삭제
function getDbDelete($table,$where)
{
global $DB_CONNECT;
db_query("delete from ".$table.($where?' where '.getSqlFilter($where):''),$DB_CONNECT);
}
//SQL필터링
function getSqlFilter($sql)
{
return $sql;
// preg_replace("/찾을 문자열/" , "변경할 문자열" , "해당 문자열");
// /찾을 문자열/ 에서 / 는 정규식의 시작과 끝을 알린다.
}
?>
=======================================================================
mysql_fetch_row()
인덱스 번호로만 데이터를 출력한다.
가장 빠르다고 알려져 있으나 어느 컬럼을 가져왔는지 가독성이 떨어저 많이 이용하지 않는다.
$query = 'SELECT * FROM table_name';
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
echo $row[0] .'<br>';
}
mysql_close($db);
mysql_fetch_assoc()
가장 많이 사용되는 함수로써 키값을 가지고 데이터를 출력한다.
$query = 'SELECT * FROM table_name';
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
echo $row['uid'] .'<br>';
}
mysql_close($db);
mysql_fetch_array()
이 함수는 인덱스(숫자)번호와 연관 배열의 키값으로 데이터를 가져 올 수 있다.
$query = 'SELECT * FROM table_name';
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
echo $row['uid'] .'<br>';
}
mysql_close($db);
'Web 프로그램 > 킴스큐RB' 카테고리의 다른 글
사용자 함수 추가 (전화번호 표시) (0) | 2016.03.13 |
---|---|
일반(외부)페이지 연동을 위한 변수 저장 정보 (0) | 2016.03.13 |
킴스큐 폴더를 벗어난 폴더에서 PHP 함수 출력 (1) | 2016.03.08 |
버그 찾기 힘들다 (0) | 2016.02.15 |
[SQL] 회원정보 중에서 필요한 거 뽑아보기 (0) | 2015.09.30 |