Source for file rainMysql.php

Documentation is available at rainMysql.php

  1. <?
  2.  
  3. /**  
  4.  * MYSQL µ¥ÀÌŸ º£À̽º °ü¸®
  5.  * @package com.rain
  6.  * @version 1.0
  7.  * @author http://cafen.net (outmind@cafen.net)
  8. */
  9. class rainMysql {
  10.  
  11.     /**  
  12.      * µ¥ÀÌŸ º£À̽º Á¤º¸
  13.      *
  14.      * @var Array 
  15.     */
  16.     var $database_info = null ;
  17.  
  18.     /**  
  19.      * ÇöÀç ÄÁ³Ø¼Ç
  20.      *
  21.      * @var resource 
  22.     */
  23.     var $current_connect = null ;
  24.  
  25.     /**  
  26.      * ¸¶Áö¸· ¿À·ù ¸Þ¼¼Áö
  27.      *
  28.      * @var String 
  29.     */
  30.     var $error_msg = "";
  31.  
  32.     /**  
  33.      * »ý¼ºÀÚ
  34.      * @param  String  µ¥ÀÌŸ º£À̽º È¯°æ ÆÄÀÏ ¾ÆÀ̵ð (conf/db_¾ÆÀ̵ð.ini) ÆÄÀÏÀÌ ÀúÀåµÇ¾î ÀÖ¾î¾ßÇÔ)
  35.     */
  36.     function rainMysql($db_id{
  37.         $this->database_info = new rainProperties("db_" $db_id);
  38.     }
  39.  
  40.     /**  
  41.      * µ¥ÀÌŸ º£À̽º ¿¬°á
  42.      *
  43.      * @return Boolean ¿¬°á ¼º°ø¿©ºÎ
  44.     */
  45.     function connect({
  46.         if ($this->current_connect == null{
  47.             $this -> current_connect = @mysql_connect(
  48.                 $this -> database_info -> get('host'),
  49.                 $this -> database_info -> get('user'),
  50.                 $this -> database_info -> get('passwd')true)
  51.             if ($this -> current_connect == 0{
  52.                 $this -> errorLog('Error : Login');
  53.             else {
  54.                 $database $this -> database_info -> get('database');
  55.                 if ($database != '' && 
  56.                     !@mysql_select_db($database,$this -> current_connect))     {
  57.                     $this -> errorLog('Error : DataBase');
  58.                 
  59.             }
  60.         
  61.         if ($this->current_connect == null || $this -> current_connect == 0
  62.             return false;
  63.         else
  64.             return true;
  65.     }
  66.  
  67.     /**  
  68.      * µ¥ÀÌŸ º£À̽º Á¢¼ÓÇØÁ¦
  69.     */
  70.     function close(
  71.         if ($this -> current_connect != 0@mysql_close($this -> current_connect);    
  72.     }
  73.  
  74.     /**  
  75.      * µ¥ÀÌŸ º£À̽º ¿À·ù ¸Þ¼¼Áö(conf/error_log.txt) ¿¡ ±â·ÏµÊ
  76.      *
  77.      * @param  String  ¿À·ù¸Þ¼¼Áö
  78.     */
  79.     function errorLog($error_msg{
  80.         rainUtil::errorLog($error_msg);
  81.         $this->error_msg .= $error_msg;
  82.     }
  83.  
  84.     /**  
  85.      * ÁÖ¾îÁø ¾÷µ¥ÀÌÆ® Äõ¸®¸¦ Àü¼ÛÇÔ (delete, update, ±âŸ µ¥ÀÌŸº£À̽ºÀÇ ³»¿ëÀÌ º¯°æµÇ´Â Äõ¸®¸¸ Àü¼Û)
  86.      *
  87.      * @param  String  Äõ¸®
  88.     */
  89.     function change($qm{
  90.         $this->queryUpdate($qmtrue);    
  91.     }
  92.  
  93.     /**  
  94.      * ÁÖ¾îÁø Å×À̺íÀÇ ÁÖ¾îÁø Ä®·³¸íÀÇ ¸¶Áö¸· ÀԷ°ª¿¡ 1À» ´õÇØ¼­ ¹Ýȯ
  95.      *
  96.      * @param  String  Å×À̺í¸í
  97.      * @param  String Ä®·³¸í
  98.      * @return  Int ¸¶Áö¸· ÀԷ°¡´ÉÇÑ °íÀ¯¹øÈ£
  99.     */
  100.     function getLastID($table_name$col_name{
  101.         $last_id $this->queryOne("select max(" $col_name ") +1 as last_id from " $table_name " ");
  102.         if ($last_id == '' || $last_id == '0'
  103.             return 1;
  104.         else 
  105.             return intval($last_id);
  106.     }
  107.  
  108.     /**  
  109.      * ÁÖ¾îÁø Äõ¸®¸¦ ¼­¹ö¿¡ Àü¼ÛÇØ¼­ °á°ú °ªÀ» ¹ÝȯÇÔ
  110.      *
  111.      * @param  String  Äõ¸®
  112.      * @param  Boolean Æ÷ÀÎÅÍ À̵¿¼º¿©ºÎ
  113.      * @return  resource Äõ¸® °á°ú
  114.     */
  115.     function query($qm$scroll_concur false
  116.         if ($this->connect()) {
  117.             if ($this -> last_query_result{
  118.                 @mysql_free_result($this -> last_query_result);
  119.                 $this -> last_query_result null;
  120.             }
  121.             if (!($this -> last_query_result @mysql_query($qm$this -> current_connect))) 
  122.                 $this -> errorLog('Error : query Error '.$qm);
  123.             return $this -> last_query_result;
  124.         else
  125.             return false;
  126.     }
  127.  
  128.     /**  
  129.      * ÁÖ¾îÁø Äõ¸®¸¦ ¼­¹ö¿¡ Àü¼ÛÇÔ
  130.      *
  131.      * @param  String  Äõ¸®
  132.      * @param  Boolean ÀÚµ¿ commit ¿©ºÎ
  133.     */
  134.     function queryUpdate($qm$auto_commit
  135.         $this->query($qmtrue);
  136.     }
  137.  
  138.     /**  
  139.      * ±â Àü¼ÛµÈ Äõ¸®¸¦ commit ½ÃÅ´
  140.     */
  141.     function commit(}
  142.  
  143.     /**  
  144.      * ±â Àü¼ÛµÈ Äõ¸®¸¦ rollback ½ÃÅ´
  145.     */
  146.     function rollback(}
  147.  
  148.     /**  
  149.      * ÁÖ¾îÁø Äõ¸®ÀǠù¹øÂ° ·Î¿ìÀǠù¹øÂ° Çʵ带 ¹ÝȯÇÔ
  150.      *
  151.      * @param  String  Äõ¸®
  152.      * @return  String Çʵ尪
  153.     */
  154.     function queryOne($qm{
  155.         $rs $this->query($qm);
  156.         $return_val Array();
  157.         if($rs && $return_val @mysql_fetch_array($rs))
  158.             return $return_val[0];
  159.         else 
  160.             return '';
  161.     }
  162.  
  163.     /**  
  164.      * ÁÖ¾îÁø Äõ¸®·Î ÁöÁ¤ÇÑ °¹¼ö ¸¸Å­ °¡Á®¿È
  165.      *
  166.      * @param  String  Äõ¸®
  167.      * @param  Int  °¡Á®¿Ã °¹¼ö
  168.      * @return  resource ResultSet
  169.     */
  170.     function queryFetchResultSet($qm$getrow{
  171.         $rs $this->query($qm);
  172.         return $rs;
  173.     }
  174.     
  175.     /**  
  176.      * ÁÖ¾îÁø Äõ¸®·Î ÁöÁ¤ÇÑ °¹¼ö ¸¸Å­ °¡Á®¿È - rainData
  177.      *
  178.      * @param  String  Äõ¸®
  179.      * @param  Int  °¡Á®¿Ã °¹¼ö
  180.      * @return  rainData 
  181.     */
  182.     function queryFetch($qm$getrow 1
  183.         return (new rainData(
  184.             new rainMysqlResultSet($this->queryFetchResultSet($qm,$getrow))
  185.         ));
  186.     }
  187.  
  188.     /**  
  189.      * ÁÖ¾îÁø Äõ¸®¿¡¼­ ½ÃÀÛ ½ÃÁ¡ ¹× °¡Á®¿Ã °¹¼ö¸¦ ÁöÁ¤Çؼ­ °á°úÄ¡¸¦ °¡Á®¿È
  190.      *
  191.      * @param  String  Äõ¸®
  192.      * @param  Int ½ÃÀÛÀ§Ä¡
  193.      * @param  Int  °¡Á®¿Ã °¹¼ö
  194.      * @return  rainData 
  195.     */
  196.     function query2Array($qm,  $cline $row_count{
  197.         $from_pos strpos($qm," from "5);
  198.         $first_qm "";
  199.         $end_qm "";
  200.         $rs null;
  201.         $total_rows 0;
  202.         $perpage $row_count ;
  203.         if ($from_pos 0{
  204.             $first_qm substr($qm,0$from_pos);
  205.             $end_qm substr($qm,$from_pos 6);
  206.             $count_qm "select count(*) as row_count from " $end_qm ;
  207.             $total_rows intval($this->queryOne($count_qm));
  208.             $cline ($cline >= $total_rows($total_rows 1)$cline;
  209.             $startnum floor($cline/$row_count$row_count;
  210.             $endnum (($cline $row_count$total_rows$total_rows:($cline $row_count);
  211.             $total_pages ceil($total_rows/$row_count);
  212.             $current_page ceil(($cline+1)/$row_count);
  213.             $offsetnum $endnum $startnum;
  214.             $rs $this->query($qm " limit " $startnum ", " $offsetnum);
  215.         }
  216.         return new rainData(new rainMysqlResultSet($rs)$total_rows$perpage $cline);
  217.     }
  218. }
  219.  
  220.  
  221. /**  
  222.  * MYSQL ResultRest °ü¸®
  223.  * @package com.rain
  224.  * @version 1.0
  225.  * @author http://cafen.net (outmind@cafen.net)
  226. */
  227.     /**  
  228.      * ´ë»ó ResultSet
  229.      *
  230.      * @var resource 
  231.     */
  232.     var $resultset = null;
  233.  
  234.     /**  
  235.      * »ý¼ºÀÚ
  236.      *
  237.      * @param  resource  ResultSet
  238.     */
  239.     function rainMysqlResultSet($resultset{
  240.         $this->resultset = $resultset;
  241.     }
  242.     
  243.     /**  
  244.      * ´ë»ó Record ¼ö °¡Á®¿À±â
  245.      *
  246.      * @return  Int ·¹Äڵ堼ö
  247.     */
  248.     function num_rows({
  249.         return @mysql_num_rows($this->resultset);
  250.     }
  251.     
  252.     /**  
  253.      * ´ë»ó Record Æ÷ÀÎÅÍ À̵¿
  254.      *
  255.      * @param  Int  À̵¿ÇÒ Æ÷ÀÎÅ͹øÈ£
  256.     */
  257.     function field_seek($row{
  258.         @mysql_field_seek($this->resultset$row);
  259.     }
  260.     
  261.     /**  
  262.      * ÇöÀç Æ÷ÀÎÅÍÀÇ ·¹Äڵ带 Array ·Î Àüȯ
  263.      *
  264.      * @return  Array 
  265.     */
  266.     function fetch_array({
  267.         return @mysql_fetch_array($this->resultsetMYSQL_BOTH);    
  268.     }
  269. }
  270.  
  271.  
  272. ?>

Documentation generated on Mon, 17 Mar 2008 12:17:53 +0900 by phpDocumentor 1.4.0a2 | Copyright 2005 cafen.net