[PHP] DB.php class Manual
2009.06.02 15:48
±Û¾´ÀÌ : ¿î¿µÀÚ
Á¶È¸ : 514
̵̧ : 0
DB.php php.ini ÆÄÀÏ¿¡ "include_path"¿¡ '/usr/local/lib/php' °¡ µé¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. <?PHP include_once "DB.php" $dbh = DB::connect("mysql://user:pass@localhost/dbname");if (DB::isError($dbh)) { // ¿À·ùÀÎÁö °Ë»ç print $dbh->getMessage(); exit;}$rsh = $dbh->getAll("SELECT * FROM test", DB_FETCHMODE_ASSOC);if (DB::isError($rsh) { // ¿À·ùÀÎÁö °Ë»ç print $dbh->getMessage();}if (is_Array($rsh)) { foreach($rsh as $val) { foreach($val as $key2 => $val2) { print $key2 . "=" . $val2 ", "; } print "\n"; }}?> common.php $dsn ? "data source name" $dsn À̶õ ¼¹ö¿Í ¿¬°áÇÏ´Â ¹®ÀÚ¿ÀÌ´Ù. ´ÙÀ½Àº Àüü DSN ¿¹Á¦ÀÌ´Ù. ¿¹) phptype(dbsyntax)://username:password@protocol+hostspec/database phptype://username:password@protocol+hostspec:110//usr/db_file.db phptype://username:password@hostspec/database_name phptype://username:password@hostspec phptype://username@hostspec phptype://hostspec/database phptype://hostspec phptype(dbsyntax) phptype mysql://user:passwd@mysql.domain.net/dbname - phptype: Database backend used in PHP (mysql, odbc, fbsql, ibase, ifx, msql, mssql, oci8, pgsql, storage, sybase) - dbsyntax: Database used with regards to SQL syntax etc. - protocol: Communication protocol to use (tcp, unix etc.) - hostspec: Host specification (hostname[:port]) - database: Database to use on the DBMS server - username: User name for login - password: Password for login
function connect($dsninfo, $persistent = false ) $dsninfo Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© DBMS ¼¹ö¿Í Á¢¼ÓÀ» ½Ãµµ ÇÑ´Ù. Á¤»óÀûÀÏ °æ¿ì DB_class_name ÀÇ Object ¸¦ Return ÇÑ´Ù. $persistent ¸¸¾à true À̸é Áö¼ÓÀûÀÎ ¿¬°áÀ» ¼±ÅÃÇÑ´Ù. ¿À·ù ÀÏ°æ¿ì DB::isError() À» ÀÌ¿ë ÇÏ¿© ¿À·ù°¡ ¹ß»ý Çß´ÂÁö È®ÀÎÇÒ¼ö ÀÖ´Ù. ¿¹) $dbh = DB::connect("mysql://user:pass@db.server.com/dbname"); if (DB::isError($dbh)) { print $dbh->getMessage(); } function disconnect() database ¿Í ¿¬°áÀ» Á¾·á ÇÑ´Ù. return °ªÀÌ true À̸é suesses, false À̸é not connected. function setFetchMode($fetchmode ) fetchRow() ¸¦ »ç¿ë ÇÒ¶§ ¹è¿ÀÇ ÇüŸ¦ ¼³Á¤ÇÏ´Â ºÎºÐÀÔ´Ï´Ù. $fetchmode °¡ DB_FETCHMODE_ORDERED ÀÏ°æ¿ì¿¡´Â ¹è¿ÀÇ index¸¦ [0],[1],[2].. Çü½ÄÀÌ°í DB_FETCHMODE_ASSOC ÀÏ°Ü¿ì ¹è¿ÀÇ index¸¦ FIELD À̸§À¸·Î ¸¸ µé¾î Áø´Ù ([idx],[name],[email],[address]...). function getOne($query ) $query (SQL)À» ½ÇÇàÇÏ¿© óÀ½ °á°ú¹°ÀÇ Ã¹¹ø° °á°ú¸¦ ¾òÀ»¼ö ÀÖ´Ù. ¸¸¾à Error ÀÏ°æ¿ì DB::isError() ¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎ ÇÒ¼ö ÀÖ´Ù. function getRow($query, $fetchmode ) $query (SQL)À» ½ÇÇàÇÏ¿© ù¹ø° Record °ªÀ» ¾òÀ»¼ö ÀÖ´Ù. ¸¸¾à Error ÀÏ°æ¿ì DB::isError() ¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎ ÇÒ¼ö ÀÖ´Ù. function getCol($query, $col ) $query (SQL)À» ½ÇÇàÇÏ¿© Àüü RecordÀÇ $col ¹ø° (ÇʵåÀ̸§ÀÇ) °ªÀ» ¾òÀ»¼ö ÀÖ´Ù. '$col ' °ªÀÌ ¼ýÀÚÀ̸é $col¹ø°ÀÇ Field Àüü¸¦ ¸»Çϸç, ¹®ÀÚ¿ÀÏ°æ¿ì ¹®ÀÚ¿¿¡ ÇØ´çÇÏ´Â Field Àüü °ªÀ» ¹è¿·Î µÇµ¹·Á ÁØ´Ù. ¸¸¾à Error ÀÏ°æ¿ì DB::isError() ¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎ ÇÒ¼ö ÀÖ´Ù. function getAll($query, $fetchmode ) $query (SQL)À» ½ÇÇàÇÏ¿© Àüü Record °ªÀ» ¾òÀ»¼ö ÀÖ´Ù. $fetchmode °¡ DB_FETCHMODE_ORDERED ÀÏ°æ¿ì¿¡´Â ¹è¿ÀÇ index¸¦ [0],[1],[2].. Çü½ÄÀÌ°í DB_FETCHMODE_ASSOC ÀÏ°Ü¿ì ¹è¿ÀÇ index¸¦ FIELD À̸§À¸·Î ¸¸µé¾î Áø´Ù ([idx],[name],[email],[address]...). ¿¹) $row = $dbh->getAll("SELECT * FROM tableName", DB_FETCHMODE_ASSOC ); $row[0][idx],[name],[email],[address]... $row[1][idx],[name],[email],[address]... $row[2][idx],[name],[email],[address]... ¸¸¾à Error ÀÏ°æ¿ì DB::isError() ¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎ ÇÒ¼ö ÀÖ´Ù. function query($query ) $query (SQL)¸¦ ½ÇÇàÇÑ´Ù. RETURN °ªÀÌ DB_OK À̸é Á¤»óÀûÀ¸·Î 󸮵ȰÍÀ̸ç, Error ÀÏ°æ¿ì DB::isError() ¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎ ÇÒ¼ö ÀÖ´Ù. ±×¸®°í, SELECT & SHOW ÀÏ°æ¿ì DB_Result() Object ¸¦ ¹ÝȯÇÑ´Ù.
ÀλýÀº ª½À´Ï´Ù.
±×·¯¹Ç·Î ´Ù¸¥ »ç¶÷ÀÌ ¿ä±¸ÇÏ´Â »îÀ» »ì¸é¼ ½Ã°£À» ³¶ºñÇؼ´Â ¾È µË´Ï´Ù.
µ·°ú ¸í¿¹¸¦ ¾òÁö ¸øÇÏ´õ¶óµµ ³¡±îÁö ÀÚ½ÅÀÇ ±æÀ» °íÁýÇϽʽÿÀ