728x90

킴스큐 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);

블로그 이미지

Link2Me

,