Ignore:
Timestamp:
2006/10/13 10:15:27 (20 years ago)
Author:
naka
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • temp/trunk/data/lib/slib.php

    r6217 r6218  
    2222function sfTabaleExists($table_name, $dsn = DEFAULT_DSN) { 
    2323    $objQuery = new SC_Query($dsn); 
    24      
    25     sfPrintR($objQuery); 
    26      
    27     $flg = false; 
    28      
    29     list($db_type) = split(":", $dsn); 
    30     // postgresql¤Èmysql¤È¤Ç½èÍý¤òʬ¤±¤ë 
    31     if ($db_type == "pgsql") { 
    32         $sql = "SELECT 
    33                     relname 
    34                 FROM 
    35                     pg_class 
    36                 WHERE 
    37                     (relkind = 'r' OR relkind = 'v') AND  
    38                     relname = ?  
    39                 GROUP BY 
    40                     relname"; 
    41         $arrRet = $objQuery->getAll($sql, array($table_name)); 
    42         if(count($arrRet) > 0) { 
    43             $flg = true; 
    44         } else { 
    45             $flg = false; 
    46         }    
    47     }else if ($db_type == "mysql") {     
    48         $sql = "SHOW TABLE STATUS LIKE ?"; 
    49         $arrRet = $objQuery->getAll($sql, array($table_name)); 
    50         if(count($arrRet) > 0) { 
    51             $flg = true; 
    52         } else { 
    53             $flg = false; 
    54         } 
    55     } 
    56     return $flg; 
     24    if(!$objQuery->isError()) { 
     25        list($db_type) = split(":", $dsn); 
     26        // postgresql¤Èmysql¤È¤Ç½èÍý¤òʬ¤±¤ë 
     27        if ($db_type == "pgsql") { 
     28            $sql = "SELECT 
     29                        relname 
     30                    FROM 
     31                        pg_class 
     32                    WHERE 
     33                        (relkind = 'r' OR relkind = 'v') AND  
     34                        relname = ?  
     35                    GROUP BY 
     36                        relname"; 
     37            $arrRet = $objQuery->getAll($sql, array($table_name)); 
     38            if(count($arrRet) > 0) { 
     39                return true; 
     40            } 
     41        }else if ($db_type == "mysql") {     
     42            $sql = "SHOW TABLE STATUS LIKE ?"; 
     43            $arrRet = $objQuery->getAll($sql, array($table_name)); 
     44            if(count($arrRet) > 0) { 
     45                return true; 
     46            } 
     47        } 
     48    } 
     49    return false; 
    5750} 
    5851 
Note: See TracChangeset for help on using the changeset viewer.