APM ÆÁ ¸ðÀ½ ±è ¿ëÀÏ
nalabi@formail.org
$Date: 2003/08/07 01:04:21 $ 2002 GNU GPL 0.1 2002-11-16 ±è ¿ëÀÏ ÃÖÃÊ ÀÛ¼º template ȨÆäÀÌÁö¸¦ ¸¸µé¸é¼­ ±×µ¿¾È Á¶±×¸¶ÇÑ ÆÁÀ» ¸ð¾Æ ³õÀº °ÍÀÔ´Ï´Ù.
¼Ò°³ À̱ÛÀº ȨÆäÀÌÁö¸¦ ¸¸µé¸é¼­ ±×µ¿¾È Á¶±×¸¶ÇÑ ÆÁÀ» ¸ð¾Æ ³õÀº °ÍÀÔ´Ï´Ù. apache, mysql, php, perl ¿¡ °ü·ÃµÈ ¹®¼­ ÀÔ´Ï´Ù. µ¡±Û ÇѱÛÀ» »ì¸®°í ³ª¶ó¸¦ »ì¸®´Â ±æÀº, °úÇÐÀûÀ¸·Î À¸¶ä°¡´Â ¼¼¹ú½ÄÀ» »ç¿ëÇÏ´Â °Í»ÓÀÔ´Ï´Ù. ´ëÇѹα¹ °úÇбâ¼úÀ» »ì¸®´Â±æÀº ½¬¿î Çѱ۷ΠµÈ ¹®¼­¸¦ ¸¸µå°ÍÀÔ´Ï´Ù. ¿Ü±¹¹®¼­¸¦ ÀÚ±â È¥ÀÚ¸¸ º¸°í ¸»°ÍÀÌ ¾Æ´Ï¶ó, ½±°Ô ¹ø¿ª, º¸ÃæÇؼ­ ÃÊÁß°í»ýµé·Î º¼¼ö ÀÖ°Ô ÇØ¾ß ÇÕ´Ï´Ù. ³ª¶ó¸¦ Àß »ì°í, ºÎ°­ÇÏ°Ô ÇØ¾ß ÇÏ´Â ÀÌÀ¯´Â ´Ù¸¥³ª¶ó³ª, ÀÎÁ¾¿¡°Ô ¼­·¯¿òÀ» ¹ÞÁö ¾Ê±â Çϱâ À§ÇÔÀÔ´Ï´Ù. µµ¿Í ÁֽźР°ü·Ã¼­Àû°ú ¿©·¯ ÀÎÅÍ³Ý »çÀÌÆ®¸¦ ¿î¿µÇÏ°í °è½Å ºÐµé²² °¨»çÇÕ´Ï´Ù. ÀúÀÛ±Ç ÀÌ ¹®¼­´Â GNU Free Documentation License ¹öÀü 1.1 ȤÀº ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü¿¡¼­ ¹ßÇàÇÑ ÀÌÈÄ ÆÇÀÇ ±ÔÁ¤¿¡ µû¸£¸ç ÀúÀ۱ǿ¡ ´ëÇÑ º» »çÇ×ÀÌ ¸í½ÃµÇ´Â ÇÑ ¾î¶°ÇÑ Á¤º¸ ¸Åü¿¡ ÀÇÇÑ º»¹®ÀÇ ÀüÀ糪 ¹ßÃéµµ ¹«»óÀ¸·Î Çã¿ëµË´Ï´Ù. º» ÀúÀÚ´Â ¹®¼­ÀÇ ³»¿ëÀÌ ¾ß±âÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ °á°ú¿¡ ´ëÇؼ­µµ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. ¼³Ä¡ ´Ù¿î·Îµå¸¦ ÇÕ´Ï´Ù. http://www.mysql.com/downloads/index.html http://apache.org/ ¾ÐÃàÀ» Ç®±â tar xvfz mysql-3.23.7-alpha.tar.gz tar xvfz apache_1.3.12.tar.gz tar xvfz php-4.0.1.tar.gz tar xvfz ZendOptimizer-Beta2-Linux-glibc2.1.tar.gz Mysql cd mysql-3.23.7-alpha ./configure --with-charset=euc_kr --prefix=/usr/local/mysql make make install ./scripts/mysql_install_db (óÀ½ Çѹø) ./bin/safe_mysqld & Zend ¿ÉƼ¸¶ÀÌÀú cd ZendOptimizer-Beta2-Linux-glibc2.1 mkdir /usr/local/Zend/ mkdir /usr/local/Zend/lib cp ZendOptimizer.so /usr/local/Zend/lib Apache cd apache_1.3.12 ./configure --prefix=/usr/local/apache Php cd ../php-4.0.1 ./configure --with-mysql --with-oci8=/oracle/app/oracle/product/8.1.5/ -- with-apache=../apache_1.3.12 --enable-track-vars --disable-debug --enable-sigchild make make install Apache cd ../apache_1.3.12 ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a make make install ¼öÁ¤ Çϱâ /usr/local/apache/conf/httpd.confÈ­ÀÏÀ» ´ÙÀ½°ú °°ÀÌ ÆíÁýÀ» ÇÕ´Ï´Ù. AddType application/x-httpd-php .php .php3 .ph(È®ÀåÀÚ) ¿¹Á¦ index.php <? phpinfo(); ?> /usr/local/lib/php.ini zend_optimizer.optimization_level=1 zend_extension="/usr/local/Zend/lib/ZendOptimizer.so" Apache CGI »ç¿ëÇϱâ apache ÀÇ ¼³Á¤ È­ÀÏÀÎ httpd.conf È­ÀÏÀ» ¼öÁ¤ÇÑ´Ù. CGI¸¦ »ç¿ëÇÒ µð·ºÅ丮 : /home/USER/public_html/cgi-bin ScriptAlias ¸¦ ¼³Á¤ÇÕ´Ï´Ù. ServerName www.formail.com ServerAdmin USER@formail.org.com ScriptAlias /cgi-bin/ /home/USER/public_html/cgi-bin/ html ¹®¼­ µð·ºÅ丮 ¼³Á¤ ¾ÆÆÄÄ¡ ¼³Á¤ È­Àϵé '/etc/httpd/conf/httpd.conf' , 'access.conf', 'srm,conf' ÀÔ´Ï´Ù. ÇÏÁö¸¸, httpd.conf¿¡¼­ ´ëºÎºÐÀÇ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù. UserDir public_html <-- º¸Åë ÀÌ·¸°Ô µÇ¾î ÀÖÀ» °Ì´Ï´Ù. ±×¸®°í°èÁ¤À» Ãß°¡ ÇÏ½Ã¸é ¿¹¸¦µé¾î abc¶ó´Â °èÁ¤À» Ãß°¡ Çß´Ù¸é http://µµ¸ÞÀÎ/~abc ÀÌ·¸°Ô µË´Ï´Ù. Url ¼³Á¤ http://µµ¸ÞÀÎ/~abc --> http://µµ¸ÞÀÎ/abc srm.conf È­ÀÏÀ» ¼öÁ¤À» ÇÑ´Ù. ´ÙÀ½À» Ãß°¡ÇÑ´Ù. Alias /abc /home/abc/public_html ¾ÆÆÄÄ¡¸¦ ´Ù½Ã ½ÇÇà ½ÃŲ´Ù. httpd restart or apachectl restart httpd.conf ¿¹Á¦ # ¾ÆÆÄÄ¡ ¼­¹ö¸¦ ¼³Ä¡ÇÏ°í ³ª¼­, localhost ¸¦ ÇÏ¸é µðÆúÆ®·Î ³ª¿À´Â ¹®¼­°¡ ÀÖ´Â µð·ºÅ丮ÀÔ´Ï´Ù. DocumentRoot "/home/httpd/kedu" # ¼Õ´ëÁö ¸»°í µðÆú·Î ±×³É ³ªµÓ´Ï´Ù. #ÆÞÀ» »ç¿ëÇÒ¶§ CGI¸¦ »ç¿ëÇÒ¶§´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. <Directory /> Options FollowSymLinks ExecCGI AllowOverride None </Directory> # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something's not working as # you might expect, make sure that you have specifically enabled it # below. # # # This should be changed to whatever you set DocumentRoot to. # <Directory "/usr/local/httpd/htdocs"> # ¼Õ´ëÁö ¸»°í µðÆú·Î ±×³É ³ªµÓ´Ï´Ù. # # This may also be "None", "All", or any combination of "Indexes", # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # #ÀÌ°ÍÀº ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» ÇØÁÝ´Ï´Ù. Options Indexes FollowSymLinks Includes ExecCGI # # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", "FileInfo", # "AuthConfig", and "Limit" # AllowOverride None # Åë°ú # # Controls who can get stuff from this server. # Order allow,deny # ¿ª½Ã Åë°ú Allow from all # ¼Õ´ëÁö ¸»°Í </Directory> # ¼Õ´ëÁö ¸»°í Åë°ú # »ç¿ëÀÚ °èÁ¤À» ¸¸µé°í ³ª¼­ À¯ÀúÀÇ index.htm ÀÌ ½ÇÇàµÇ´Â µð·ºÅ丮 UserDir public_html #ºê¶ó¿ìÀú¸¦ ½ÇÇà ÇÒ¶§ ±âº»ÀûÀ¸·Î ÀÐ¾î µéÀÌ´Â È­ÀÏÀ» ¼³Á¤ÇÏ´Â °÷ÀÔ´Ï´Ù. DirectoryIndex index.htm index.html index.cgi index.php index.php3 # ÆÞÀ» »ç¿ëÇÒ¶§ CGI ¸¦ »ç¿ëÇÒ¶§ ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» ÇÕ´Ï´Ù. AccessFileName .htaccess <Files .htaccess> Order allow,deny Deny from all </Files> #php ¸¦ »ç¿ëÇÒ¶§´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» ÇØÁÝ´Ï´Ù. AddType application/x-httpd-php .php3 AddType application/x-httpd-php-source .phps AddType application/x-tar .tgz #ÆÞ CGI¸¦ »ç¿ëÇÒ¶§´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» ÇØÁÝ´Ï´Ù. AddHandler cgi-script .cgi Html ´Ù¸¥ »çÀÌÆ®·Î ³Ñ¾î°¡±â <html> <body> <meta http-equiv='Refresh' content='0; URL=http://formail.org'> </body> </html> Perl ÆÞ »ç¿ëÇϱâ À§ÇÑ apache, mysql ¼³Á¤ ¾ÆÆÄÄ¡ ¼³Á¤ ÆÞÀÌ ¼³Ä¡ µÇ¾î ÀÖ³ª Çѹø º¾´Ï´Ù. # which perl ¾ÆÆÄÄ¡ ¼³Á¤µð·ºÅ丮 (/www/conf/httpd.conf)ÀÇ ´ÙÀ½ ³»¿ëÀÌ ¾øÀ¸¸é Ãß°¡¸¦ ÇÕ´Ï´Ù. AddHandler cgi-script .cgi ScriptAlias /cgi-bin/ "/www/cgi-bin/" AllowOverride None Options None Order allow,deny Allow from all 1) ÆÞ ¸ðµâ ¼³Ä¡ Perl `DBD'/`DBI' client code ´Â ÃֽŠ¾ÈÁ¤ ¹öÀüÀ» »ç¿ëÇÑ´Ù. Perl °ü·ÃÇÁ·Î±×·¥ µÎ°¡Áö(¼¼°¡Áö)¸¦ ´Ù¿î·ÎµåÇÑ´Ù. http://www.cpan.org/modules/01modules.index.html Msql-Mysql-modules-1.2204.tar.gz DBI-1.13.tar.gz Data-Dump-0.03.tar.gz ('Data-Dumper'), 'DBI', 'Msql-Mysql-modules' À» ¼ø¼­´ë·Î ¼³Ä¡ÇÑ´Ù. 2) ¿ì¼± ¾ÐÃàµÈ ÆÐÅ°Áö¸¦ Ǭ´Ù. shell> tar xzvf DBI-VERSION.tar.gz shell> tar xzvf Msql-Mysql-modules-VERSION.tar.gz 3) »ý¼ºµÈ µð·ºÅ丮·Î À̵¿ shell> cd DBI-VERSION 4. ÄÄÆÄÀÏ ÇÏ°í ¼³Ä¡ shell> perl Makefile.PL shell> make shell> make test( Âü°í) shell> make install 5) Å×½ºÆ® Âü°í·Î make test. ¸ðµç ¸ðµâÀ» °ËÁõÇϱ⠶§¹®ÀÌ´Ù. 6) ³ª¸ÓÁöÁö µÎ°³ ÆÐÅ°Áö ¼³Ä¡ ³ª¸ÓÁö 'Msql-Mysql-modules'¸¦ À§¿Í °°Àº ¹æ¹ýÀ¸·Î ¼³Ä¡ÇÑ´Ù. Å×½ºÆ® 1) /www/cgi-bin/datedisp.cgi ÀÌ È­ÀÏÀ» vi ·Î ÆíÁýÇÑ´Ù. #! /usr/bin/perl print "Content-type: text/html"; $date = `date`; print ("Today is $date"); 2) ±ÇÇÑÀ» ¹Ù²Ù¾î ÁØ´Ù. chmod 755 datedisp.cgi 3) /www/cgi-bin µð·ºÅ丮¿¡¼­ ½ÇÇàÀ» Çغ»´Ù. ./datedisp.cgi or perl datedisp.cgi 4) ºê¶ó¿ìÀú¿¡¼­ ´ÙÀ½À» ½ÇÇàÇÕ´Ï´Ù. http://localhost/cgi-bin/datedisp.cgi µð·ºÅ丮, È­ÀÏ ¸¸µé±â µð·ºÅ丮, È­ÀÏ ¸¸µé±â #!/usr/bin/perl use Mysql; $dbh = Mysql->connect("","dbname","user","password"); print "Content-type: text/html"; mkdir('aaa/bbb' , 0777) or die print "µð·ºÅ丮¸¦ ¸¸µé¼ö ¾ø½À´Ï´Ù. ÀÌ¹Ì ¸¸µé¾î Á³½À´Ï´Ù.<br>"; print "¿À°ÔÀÌ ¿À°ÔÀÌ"; &printf_file("aaa/bbb/test.htm"); exit; sub print_file{ my ($filename) = @_; $imsi; $top="<div align=left><table border=0 cellpadding=5><tr><td valign=top><p align=left><font face=±¼¸² size=2>"; $bottom="</font></td></tr></table></div>"; $parse{content} =~ s//<br>/g; $imsi = $top; $imsi.= "¾È³çÇϼ¼¿ä. >(///)< µå¼¼¿ä."; $imsi.= $bottom; open(fh,">$filename"); print fh $imsi; close(fh); } ½Ã°£ Ãâ·Â¹× Å×ÀÌºí ³»¿ë Ãâ·Â Mysql ³»¿ë mysql> select * from test; +------+--------+------+-------------+ | id | name | age | tel | +------+--------+------+-------------+ | 1 | ±è¿ëÀÏ | 29 | 02-825-xxxx | +------+--------+------+-------------+ 1 row in set (0.03 sec) ¼Ò½º #!/usr/bin/perl print "Content-type:text/html"; #À¥¿¡¼­ htmlÀ» º¼¼ö ÀÖ°Ô ÇØÁØ´Ù. useMysql; #mysqlÀ» »ç¿ëÇÑ´Ù. $dbh=Mysql->connect("","kbc","",""); #db¿Í ÆÞÀ» ¿¬°áÇÑ´Ù. #½Ã°£ °ªÀ» ¾ò¾î ³½´Ù. ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); #Ãâ·ÂÇÒ ÆûÀ» ÀÛ¼ºÇÑ´Ù. $date = sprintf("%d-%d-%d",$year += 1900, $mon+1, $mday); print $date, " "; #Ãâ·ÂÀ» ÇÑ´Ù. #print '$curdate()'; #°£´ÜÈ÷ ½Ã°£À» ³ªÅ¸³»´Â ¹æ¹ý $query_string = "select * from test"; # ÁúÀǸ¦ º¯¼ö¿¡ ÀúÀåÇÑ´Ù. $sth=$dbh->query($query_string); #º¯¼ö¸¦ ½ÇÇàÇÑ´Ù. print $sth->fetchrow_array, " "; # Ãâ·ÂÀ» ÇØÁØ´Ù. À̸§À» ÀÔ·Â¹Þ¾Æ mysql¿¡ ÀúÀåÇÏ°í Ãâ·ÂÇϱâ Sql À» ÀÛ¼ºÇÑ´Ù. create table test ( no int default '0' not null auto_increment, name char(10), regdate date, PRIMARY KEY(no) ); name_input.htm À» ÀÛ¼ºÇÑ´Ù. <form name="form" method="get" action="/cgi-bin/write_db.cgi"> <inputtype="text" name="name" size="10"> <input type="submit" name="ok" value="º¸³»±â"> </form> cgi È­ÀÏÀ» ÀÛ¼ºÇÑ´Ù. #!/usr/bin/perl #À̹®¼­´Â ÆÞ¹®¼­ ÀÓÀ» ³ªÅ¸³»ÁØ´Ù. %parse = &parse_input; # form, inputÀ» °¡´ÉÇϵµ·Ï Á¤ÀǸ¦ ÇÑ´Ù. print "Content-type:text/html"; # htmlÀ» »ç¿ë°¡´ÉÇϵµ·Ï ÇÑ´Ù. print "ÀÔ·Â µÇ¾ú½À´Ï´Ù. <br>"; use Mysql; #Mysql À» Á¤ÀÇ ÇØÁØ´Ù. $dbh=Mysql->connect("","kedu","root",""); #MysqlÀ» ÆÞ¿¡¼­ »ç¿ë°¡´ÉÇϵµ·Ï ¿¬°á ½ÃÄÑÁØ´Ù. connect("", "DBÀ̸§", "»ç¿ëÀÚ", "ºñ¹Ð¹øÈ£") $query_string = "insert into test values('','$parse{name}',curdate())"; # À̸§°ú ½Ã°£À» º¯¼ö¿¡ ÀúÀåÇÑ´Ù. $sth=$dbh->query($query_string); # ½ÇÇàÇÑ´Ù. $query_string = "select * from test"; # Å×ÀÌºí ³»¿ëÀ» º¯¼ö¿¡ ÀúÀåÇÑ´Ù. $sth=$dbh->query($query_string); # ½ÇÇàÀ» ÇÑ´Ù. while($row = $sth->fetchrow_arrayref) { # Å×À̺íÀÇ ¸¶Á÷¸· ·¹ÄÚµå ±îÁö print "$row->[0] $row->[1] $row->[2]<br>"; # Å×ÀÌºí ³»¿ëÀ» Ãâ·Â ÇÑ´Ù. } exit; # ºÐ ¹®¼­(ÆÞ)ÀÇ ³¡ÀÓÀ» ³ªÅ¸³» ÁØ´Ù. ÀÌÇÏ ÇÔ¼ö¸¦ Á¤ÀÇ ÇÑ´Ù. # ¹ØÀÇ ÇÔ¼ö´Â ÃæºÐÇÑ ÇнÀÈÄ ¼öÁ¤ÇÏ°í, Ãʺ¸ÀÚ´Â ±×³É ±×·±°¡ º¸´Ù »ý°¢ÇÏ°í ³Ñ¾î°£´Ù. sub parse_input { my ($buffer,@parse,%parse,$key,$value); if($ENV{'REQUEST_METHOD'} eq "GET") { @parse = split(/&/,$ENV{'QUERY_STRING'}); } else { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); @parse = split(/&/,$buffer); } foreach (@parse) { $_=~ tr/+/ /; $_ =~ s/%([dA-Fa-f][dA-Fa-f])/pack("C",hex($1))/eg; ($key,$value) = split(/=/,$_); $parse{$key} = $value; } return %parse; } ÀÔ·Â ¹Þ´Â ºÎºÐÀ» üũ Çϱâ Sql ÀÛ¼º ( mysql DBNAME < test.tbl ) create table test ( no int default '0' not null auto_increment, id char(10), name char(10), pw char(8), regdate date, regtime time, PRIMARY KEY(no) ); check_input.htm ÀÛ¼º <html> <body> <table> <form name="form" method="post" action=/cgi-bin/access_db.cgi> <tr> <td>¾ÆÀ̵ð </td> <td><input name=id size=10> <br></td> </tr> <tr> <td>ÀÌ ¸§ </td> <td><input name=name size=10> <br></td></tr> <tr> <td>ºñ¹Ð¹øÈ£</td> <td><input name=pw size=10 type=password> <br></td></tr> <tr> <td>ºñ¹Ð¹øȣȮÀÎ</td> <td><input name=pw2 size=10 type=password> </td></tr></table> <input type="submit" value="º¸³»±â"> </form> </table> </body> </html> access_db.cgi ÀÛ¼º(ÀÛ¼ºÈÄ 755 access_db.cgi ¸¦ ½ÇÇàÇؼ­ ½ÇÇà¸ðµå·Î ¹Ù²Û´Ù.) #!/usr/bin/perl %parse = &parse_input; use Mysql; $dbh = Mysql->connect("","kedu","root",""); print "Content-type:text/html"; if($parse{id} eq ""){ print "¾ÆÀ̵𸦠ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù.<br>"; print "¾ÆÀ̵𸦠ÀÔ·Â ÇØÁÖ¼¼¿ä.<br>"; } elsif($parse{name} eq "" ){ print "À̸§À» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù.<br>"; print "À̸§À» ÀÔ·Â ÇØÁÖ¼¼¿ä.<br>"; } elsif($parse{pw} eq "" ){ print "ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù.<br>"; print "ºñ¹Ð¹øÈ£¸¦ ÀÔ·Â ÇØÁÖ¼¼¿ä.<br>"; } elsif($parse{pw2} eq "" ){ print "ºñ¹Ð¹øȣȮÀÎÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù.<br>"; print "ºñ¹Ð¹øȣȮÀÎÀ»ÀÔ·Â ÇØÁÖ¼¼¿ä.<br>"; } elsif(($parse{id} =~ /^d/) || ($parse{name} =~ /^d/)) { print "ù¹ø° ±ÛÂ¥°¡ ¼ýÀÚ·Î µÇ¾î ÀÖ½À´Ï´Ù.<br>"; print "ù¹ø°±ÛÂ¥¸¦ ¹®ÀÚ·Î ¹Ù²Ù¾î ÁÖ¼¼¿ä.<br>"; } elsif(&registered_id($parse{id})) { print "ÀÌ¹Ì ÀÖ´Â ¾ÆÀ̵ð ÀÔ´Ï´Ù.<br>"; print "´Ù¸¥ ¾ÆÀ̵𸦠ÀÔ·Â ÇØÁÖ¼¼¿ä.<br>"; } elsif($parse{pw} ne $parse{pw2}) { print "ºñ¹Ð¹øÈ£°¡ °°Áö ¾Ê½À´Ï´Ù. <br>"; print "ºñ¹Ð¹øÈ£¸¦ ´Ù½Ã ÀÔ·Â ÇØÁÖ¼¼¿ä. <br>"; } else { print$parse{id}, "°¡ ÀÔ·Â µÇ¾ú½À´Ï´Ù.<br>"; $query_string = "insert into test values('','$parse{id}','$parse{name}','$parse{pw}', curdate(), curtime())"; my $sth=$dbh->query($query_string); } $query_string = "select * from test"; $sth=$dbh->query($query_string); while($row = $sth->fetchrow_arrayref) { print "$row->[0] $row->[1] $row->[2] $row->[3] $row->[4] $row->[5]<br>"; } exit; sub registered_id { my ($id) = @_; my ($query_string) = "select id from test where id = '$id'"; my ($sth) = $dbh->query($query_string); if($sth -> numrows eq "1") { return 1; } else { return 0; } } sub parse_input { my ($buffer,@parse,%parse,$key,$value); if($ENV{'REQUEST_METHOD'} eq "GET") { @parse = split(/&/,$ENV{'QUERY_STRING'}); } else { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); @parse = split(/&/,$buffer); } foreach (@parse) { $_ =~ tr/+/ /; $_ =~ s/%([dA-Fa-f][dA-Fa-f])/pack("C",hex($1))/eg; ($key,$value) = split(/=/,$_); $parse{$key} = $value; } return %parse; } Php ³ëÇÁ·¹ÀÓ ¸¸µå´Â¹ý ¸Ó¸®´Ü°ú ¹Ù´Ú¿¡ µé¾î°¥ È­ÀÏÀ» ÀÛ¼ºÇÏ°í ³ª¼­ º» È­ÀÏ¿¡¼­ ºÒ·¯¼­ »ç¿ëÇÏ¸é µÈ´Ù. main.php <?php include("include/header.ph"); print_html("main_htm/top.htm"); echo("<br><br>º»¹® ³»¿ëÀÌ µé¾î°¡´Â °÷ÀÔ´Ï´Ù.<br>"); echo("³»¿ëÀº º°°Å ¾ø½À´Ï´Ù.<br>"); echo("ÇÁ·¹ÀÓÀ» ³ª´©Áö ¾Ê°í, º»¹® ³»¿ëÀ» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.<br>"); echo("º»¹®³»¿ëÀ» ¼­ºê ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ ¸¸µé¸é µË´Ï´Ù.<br>"); echo("´ÙÀ½ ÀÛ¾÷À» À§ÇØ ½¬¿î ³»¿ëÀ» ¾ÆÁÖ ¾î·Æ°Ô Çß½À´Ï´Ù.<br>"); echo("À̳»¿ëÀ» Àß ÀÌÇØÇÏ¸é ¿©·¯¸é¿¡¼­ µµ¿òÀÌ µÉ°ÍÀÔ´Ï´Ù.<br>"); print_html("main_htm/bottom.htm"); ?> include/header.ph <? /* ÇѶóÀÎ Ãâ·ÂÇØÁÖ´Â ÇÔ¼ö */ function print_html($filename) { $fp = fopen( $filename, "r" ); while(!feof($fp)) { $contents .= fgets($fp, 100); } fclose($fp); echo "$contents"; } ?> main_htm/top.htm <html> <head> <title>³ª¶óºñÀÇ ¹æ</title> <style TYPE="TEXT/CSS"> A:link {color: blue; text-decoration:none} A:visited {color: navy; text-decoration:none} A:hover {color: red; text-decoration:underline;} </style> </head> <body> <table border="0" width = "600" cellpadding="0" cellspacing="0"> <tr><td width="589" colspan="2" bgcolor="#f9cd8a">³ª¶óºñÀÇ ¹æÀ» ã¾ÆÁּż­ ´ë´ÜÈ÷ °¨»çÇÕ´Ï´Ù.</td></tr> <tr> <tr> <td width = "120" valign="top" colspan="0"> <table width = "120" border="0"> <tr><td width="120" bgcolor="#b5d490"><p> <b><br>ȨÀ¸·Î</b></font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">³ª¶óºñ ¼Ò°³</font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">³ª¸®ºñ ¼Ò½Ä</font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">Windows NT</font></td></tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">½Ã(±è¼Ò¿ù)</font></td> </tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">½Ã(±âŸ)</font></td> </tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">Áú¹®°ú´äº¯</font></td> </tr> <tr><td width="120" bgcolor="#c3f298"><p> <font size="2">´Ù¸¥°÷</font></td> </tr> </table> <td valign="top" align="center" width = "480"> main_htm/bottom.htm </td> </tr> <tr> <td colspan="2" align="center" valign="top">Copyright ¨Ï 1999 nalabi.Mail to<a href="mailto:nalabi@hananet.net">webmaster</a></td> </tr> </table> </body> </html> À̸§À» ÀÔ·Â¹Þ¾Æ mysql¿¡ ÀúÀåÇÏ°í Ãâ·ÂÇϱâ Å×À̺í ÀÛ¼º (mysql DBNAME < test.tbl) create table test ( no int default '0' not null auto_increment, name char(10), regdate date, PRIMARY KEY(no) ); name_input.php ÀÛ¼º <html> <body> <form name="form" method="get" action="write_db.php3"> <inputtype="text" name="name" size="10"> <input type="submit" name="ok" value="º¸³»±â"> </form> </body> </html> write_db.php ÀÛ¼º <? // MySQL ¼­¹ö¿¡ ¿¬°áÇÑ´Ù $connect=mysql_connect( "localhost", "root", "") or die( "SQL server¿¡ ¿¬°á ÇÒ¼ö ¾ø½À´Ï´Ù."); $tbl_list = mysql_list_tables("kedu"); //µ¥ÀÌŸ º£À̽º¸¦ ¼³Á¤ÇÕ´Ï´Ù. $result = mysql_query("insert into test (name) values ('$name')"); $result=mysql_query($result, $connect ); $tbl_name="select * from test" ; $result=mysql_query($tbl_name, $connect ); $print=mysql_fetch_array($result); //Å×À̺íÀÇ ³»¿ëÀ» °¡Á®¿È $rows = mysql_num_rows($result); echo("ÀÔ·Â µÇ¾ú½À´Ï´Ù..<br>"); for($i=0; $i< $rows;$i++) { echo("$print[name]<br>"); $print=mysql_fetch_array($result); } ?> À̸§À» ÀÔ·Â¹Þ¾Æ Ã¼Å©ÇÏ°í mysql¿¡ ÀúÀåÇÏ°í Ãâ·ÂÇϱâ Å×À̺í ÀÛ¼º ( mysql DBNAME < test.tbl ) create table test ( no int default '0' not null auto_increment, id char(10), name char(10), pw char(8), regdate date, regtime time, PRIMARY KEY(no) ); check_input.php ÀÛ¼º <html> <body> <table> <form name="form" method="post" action=access_db.php3> <tr> <td>¾ÆÀ̵ð </td> <td><INPUT name=id size=10> <br></td></tr> <tr> <td>ÀÌ ¸§ </td> <td><INPUT name=name size=10> <br></td></tr> <tr> <td>ºñ¹Ð¹øÈ£</td> <td><INPUT name=pw size=10 type=password> <br></td></tr> <tr> <td>ºñ¹Ð¹øȣȮÀÎ</td> <td><INPUT name=pw2 size=10 type=password> </td></tr></table> <input type="submit" value="º¸³»±â"> </form> </table> </body> </html> access_db.php ÀÛ¼º <? // MySQL ¼­¹ö¿¡ ¿¬°áÇÑ´Ù $connect=mysql_connect( "localhost", "root", "") or die( "SQL server¿¡ ¿¬°á ÇÒ¼ö ¾ø½À´Ï´Ù."); $tbl_list= mysql_list_tables("kedu"); //µ¥ÀÌŸ º£À̽º¸¦ ¼³Á¤ÇÕ´Ï´Ù. if($id == "") { echo "¾ÆÀ̵𸦠ÀÔ·Â ÇÏÁö ¾Ê¾Ò½À´Ï´Ù."; } elseif($name == ""){ echo "À̸§À» ÀÔ·Â ÇÏÁö ¾Ê¾Ò½À´Ï´Ù."; } elseif($pw == ""){ print "ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇÏÁö¾Ê¾Ò½À´Ï´Ù.<br>"; print "ºñ¹Ð¹øÈ£¸¦ ÀÔ·Â ÇØÁÖ¼¼¿ä.<br>"; } elseif($pw2 == ""){ print "ºñ¹Ð¹øȣȮÀÎÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù.<br>"; print "ºñ¹Ð¹øȣȮÀÎÀ» ÀÔ·Â ÇØÁÖ¼¼¿ä.<br>"; } elseif($pw != $pw2) { print "ºñ¹Ð¹øÈ£°¡ °°Áö ¾Ê½À´Ï´Ù. <br>"; print "ºñ¹Ð¹øÈ£¸¦ ´Ù½Ã ÀÔ·Â ÇØÁÖ¼¼¿ä. <br>"; } else { echo "$id°¡ ÀÔ·Â µÇ¾ú½À´Ï´Ù..<br>"; $date = date("y-m-d", time()); $result = mysql_query("insert into test values ('','$id','$name','$pw','$date','$time')"); $result=mysql_query($result, $connect); $tbl_name="select *from test" ; $result=mysql_query($tbl_name, $connect ); $print=mysql_fetch_array($result); //Å×À̺íÀÇ ³»¿ëÀ» °¡Á®¿È $rows = mysql_num_rows($result); for($i=0; $i< $rows;$i++) { echo("$print[id] $print[name] $print[pw] $print[regdate]<br>"); $print=mysql_fetch_array($result); } } ?> Å×À̺í Ãâ·Â ÇÁ·Î±×·¥ Å×À̺í Ãâ·Â ÇÁ·Î±×·¥ <? // MySQL ¼­¹ö¿¡ ¿¬°áÇÑ´Ù $connect=mysql_connect( "localhost", "username", "") or die( "Unabletoconnect to SQL server"); //-------------------------------------------------------------------------- // »ç¿ë°¡´ÉÇÑ DB ¸ñ·ÏÀ» °Ë»ö //-------------------------------------------------------------------------- $dblist = mysql_listdbs(); //µ¥ÀÌŸ º£À̽º ¸ñ·ÏÀ» ÀνÄÇÑ´Ù. $dbnum=mysql_num_rows($dblist); //µ¥ÀÌŸ º£À̽º °¹¼ö¸¦ º¯¼ö¿¡ ÀúÀåÇÑ´Ù. for($i=0; $i < $dbnum; $i++) //µ¥ÀÌŸ º£À̽º °¹¼ö ¸¸Å­ { $dbname[$i] = mysql_dbname($dblist, $i) ; //µ¥ÀÌŸ º£À̽º ¸ñ·Ï À̸§À» º¯¼ö¿¡ ÀúÀåÇÑ´Ù. } echo "µ¥ÀÌŸ º£À̽º °Ë»ö ³»¿ë <br>"; for($i=0; $i < count($dbname); $i++) { //µ¥ÀÌŸ º£À̽º °¹¼ö ¸¸Å­ echo "$dbname[$i] <br>"; // µ¥ÀÌŸ º£À̽º À̸§À» À¥¿¡ ³ªÅ¸³»ÁØ´Ù. } //-------------------------------------------------------- // »ç¿ë°¡´ÉÇÑ Å×ÀÌºí ¸ñ·ÏÀ» °Ë»ö //-------------------------------------------------------- $tbl_list = mysql_list_tables("board"); //µ¥ÀÌŸ º£À̽º¸¦ ¼³Á¤ÇÕ´Ï´Ù. $tbl_num=mysql_num_rows($tbl_list); // Å×ÀÌºí °¹¼ö¸¦ º¯¼ö¿¡ ÀúÀåÇÕ´Ï´Ù. echo "<br>µ¥ÀÌŸ Å×ÀÌºí °Ë»ö ³»¿ë--> Å×À̺í¸í,·¹ÄÚµå¼ö<br>"; for($i=0; $i < $tbl_num; $i++) //Å×ÀÌºí °¹¼ö ¸¸Å­ { $tbl_name[$i] = mysql_tablename($tbl_list,$i) ; // Å×À̺í À̸§À» º¯¼ö¿¡ ÀúÀå $result[$i] = mysql_query( "SELECT * FROM $tbl_name[$i]"); //Å×À̺íÀÇ ³»¿ëÀ» º¯¼ö¿¡ ÀúÀå $rows[$i] = mysql_num_rows($result[$i]); // Å×À̺íÀÇ ·¹ÄÚµå ¼ö¸¦º¯¼ö¿¡ ÀúÀå echo "$tbl_name[$i], $rows[$i], $name <br>"; //Å×À̺íÀÇ À̸§°ú, ·¹ÄÚµå¼ö¸¦ À¥¿¡ Ãâ·Â ÇØÁÝ´Ï´Ù. } //-------------------------------------------------------------------- // »ç¿ë°¡´ÉÇÑ Å×ÀÌºí ³»¿ëÀ» Ãâ·Â //-------------------------------------------------------------------- $tbl_name="select * from test" ; $result=mysql_query($tbl_name, $connect ); $print=mysql_fetch_array($result); //Å×À̺íÀÇ ³»¿ëÀ» °¡Á®¿È echo("<br>Å×ÀÌºí ³»¿ëÀ» È­¸é¿¡ Ãâ·Â ½ÃÄÑ ÁÝ´Ï´Ù.<br>"); echo("À̸§, ³ªÀÌ, ÀüÈ­¹øÈ£ºÎ, ÁÖ¼Ò<br>"); echo("$print[name], $print[age], $print[tel], $print[addr]<br>"); //------------------------------------------------------------------------------- // »ç¿ë°¡´ÉÇÑ Å×ÀÌºí ³»¿ëÀ» Àüü Ãâ·Â //------------------------------------------------------------------------------- $que_bbs="select * from test" ; $result=mysql_query($que_bbs,$connect ); $print=mysql_fetch_array($result); $rows = mysql_num_rows($result); echo("<br>Å×ÀÌºí ³»¿ë Àüü¸¦ Ãâ·Â ½ÃÄÑ ÁÝ´Ï´Ù.<br>"); echo("À̸§, ³ªÀÌ, ÀüÈ­¹øÈ£ºÎ, ÁÖ¼Ò<br>"); for($i=0; $i < $rows; $i++) { echo("$print[name], $print[age], $print[tel], $print[addr]<br>"); $print=mysql_fetch_array($result); } ?> mysql_fetch_array ¿¹Á¦ mysql_free_result ¸¦ Çؼ­ ¸Þ¸ð¸®¸¦ Ç®¾î ÁØ´Ù. <? mysql_connect($db_server, $db_user, $db_pass); $result = mysql_db_query("$db_name","select * from $table_name"); while($row = mysql_fetch_array($result)) { echo $row["no"]; echo $row["name"]; echo " "; } mysql_free_result($result); ?> À̹ÌÁö È­ÀÏ Ãâ·Â <? Header("Content-type: image/gif"); $file = "test.gif"; $size = 4096; if (!($fp = fopen($file, "r"))) { die("could not open input"); exit; } while ($data = fread($fp,$size)) { print($data); } ?> ´Þ·Â ¿¹Á¦ ´Þ·Â ¿¹Á¦ <? // º¯¼ö°ª ¼³Á¤ $date=01; $day=01; $off=0; //³âµµ ´Þ ¼³Á¤ $year = '2000'; $month = '01'; /* Figure out how many days are in this month */ while (checkdate($month,$date,$year)): $date++; endwhile; // ¸Þ´º Ç¥½ÃÇϱâ echo "<table width='420' ><tr><td align = center>$year ³â $month ¿ù</td></tr></table>"; echo "<table border='1' width='420'><tr>"; echo "<td><b><font face='µ¸À½'>¿ù</font></b></td>"; echo "<td><b><font face='µ¸À½'>È­</font></b></td>"; echo "<td><b><font face='µ¸À½'>¼ö</font></b></td>"; echo "<td><b><font face='µ¸À½'>¸ñ</font></b></td>"; echo "<td><b><font face='µ¸À½'>±Ý</font></b></td>"; echo "<td><b><font face='µ¸À½'>Åä</font></b></td>"; echo "<td><b><font face='µ¸À½'>ÀÏ</font></b></td>"; echo "<tr>"; //·çÇÁ µ¹¸®±â while ($day<$date): /* Figure what day of the week the first falls on and set the number of preceding and trailing cells accordingly */ if ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Sunday') { echo "<td>$day</td>"; $off = '01'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Monday') { echo "<td></td><td>$day</td>"; $off= '02'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Tuesday') { echo "<td></td><td></td><td>$day</td>"; $off= '03'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Wednesday') { echo "<td></td><td></td><td></td><td>$day</td>"; $off= '04'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Thursday') { echo "<td></td><td></td><td></td><td></td><td>$day</td>"; $off= '05'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Friday') { echo "<td></td><td></td><td></td><td></td><td></td><td>$day</td>"; $off= '06'; } elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Saturday') { echo "<td></td><td></td><td></td><td></td><td></td><td></td><td>$day</td>"; $off= '07'; } else { echo "<td>$day</td>"; } //ÀÏ Áõ°¡ ½ÃÅ°±â $day++; $off++; if ($off>7) { echo "</tr><tr>"; $off='01'; } else { echo ""; } endwhile; echo "</table>"; ?> ¿øÇÏ´Â ¹®ÀÚ¿­ °Ë»ö(ereg) ¾î¶² ¹®ÀÚ¿­ Áß¿¡¼­ 000 À̶ó´Â ¹®ÀÚ¿­ÀÇ ·¹Äڵ带 ã¾Æ ³»±â Ç¥Çö : int ereg(string pattern, string string, array [regs]); »ç¿ë¹ý : ereg(ãÀ» ÆÐÅÏ, °Ë»çÇÒ ¹®ÀÚ¿­, °á°ú ¹è¿­); ¿¹Á¦ : ereg("([0]{3})", $hash[code], $regs) °¢°¢ÀÇ ÆÐÅÏÀº ()·Î Á¤ÀǸ¦ ÇÕ´Ï´Ù. ([0]{3})´Â 0ÀÇ°¹¼ö°¡ 3°³·Î ³ª¿Í¾ßÇÑ´Ù´Â ÀǹÌÀÌ´Ù. ([0]{2, 3}) 0ÀÇ °¹¼ö°¡ 2°³ ȤÀº 3°³¸¦ ÀÇ¹Ì ([0-9]{2, 3}) 0¿¡¼­ 9±îÁöÀÇ ¼ýÀÚ°¡ 2ÀÚ¸® ȤÀº 3ÀÚ¸®¸¦ ÀÇ¹Ì <? $sth = mysql_query("select * from kangsa_type order by code"); while($hash = mysql_fetch_array($sth)) { if(ereg("([0]{3})", $hash[code], $regs)) { print "$hash[typename]"; } } ?> ÀÎÁõ ¿¹Á¦ auth.sql À» ¸ÕÀú ÀÛ¼ºÀ»ÇÑ´Ù. # MySQL dump 6.6 # # Host: localhost Database: myhome #-------------------------------------------------------- # Server version 3.23.8-alpha # # Table structure for table 'auth' # CREATE TABLE auth ( id char(10) DEFAULT '' NOT NULL, passwd char(10), name char(10), level int(11), PRIMARY KEY (id) ); # # Dumping data for table 'auth' # INSERT INTO auth VALUES ('nalabi','xxxx','±è¿ëÀÏ',1); auth.ph ÀÎÁõÇÏ´Â ºÎºÐÀ» ÀÛ¼ºÇÑ´Ù. <?php cfunction authenticate() { Header( "HTTP/1.0 401 Unauthorized"); $title= "Invalid Login"; ?> ¾ÆÀ̵ð¿Í ¾ÏÈ£°¡ ÇÊ¿äÇÕ´Ï´Ù! <?php exit; } if(!isset($PHP_AUTH_USER)) { authenticate(); } else { mysql_pconnect( 'localhost', 'root', '') or die( "Unable to connect to SQL server"); // MySQL ¼­¹ö Á¢¼Ó mysql_select_db( "test") or die( "Unable to select database"); // DB ¼±Åà $result = mysql_query( "select name , level from auth where id='$PHP_AUTH_USER' and passwd='$PHP_AUTH_PW' "); if(!mysql_num_rows($result)) { authenticate(); } else { $userinfo = mysql_fetch_array($result); } } ?> test.php ÇÁ·Î±×·¥ Çϴµ¥¼­ ÀÎÁõÇÏ´Â ºÎºÐÀ» Àû¿ëÇÑ´Ù. <? include ("auth.ph"); echo("¾î¼­ ¿À½Ê½Ã¿ä."); ?> Ä¿³Î ¹öÀü ³ªÅ¸³»ÁÖ´Â ÇÔ¼ö kernel.php <? function kernel() { $label = array("¾ÈÁ¤¹öÀü","°³¹ß¹öÀü","¾ËÆĹöÀü"); $cmd = "/usr/bin/finger @ftp.kernel.org| cut -c59-66 | sed -e '/^$/d'"; exec($cmd,$array,$rtn); for($i=0; $i < count($array); $i++) { list($v1, $v2, $v3) = split('[/.-]' , $array[$i]); $version = "v".$v1.".".$v2."/linux-".$array[$i].".tar.gz"; $label[$i] = "<a href = ftp://ftp.kernel.org/pub/linux/kernel/".$version.">".$label[$i]." : ".$array[$i]."</a>"; } return $label; } $label = kernel(); echo("$label[0] <br> $label[1] <br> $label[2]"); ?> µµ¸ÞÀΠǥ½Ã ÇÔ¼ö whois ÇÁ·Î±×·¥ÀÌ ±ò·Á ÀÖ¾î¾ß ÇÕ´Ï´Ù. rpm -qa | grep whois whois-1.0.10-1 ÇÁ·Î±×·¥ <? function domain($string) { $cmd = "whois $string"; exec($cmd,$array,$rtn); for ($i=0; $i < count($array); $i++) { $rstring .= "$array[$i]"; } return $rstring; } print domain("formail.org"); ?> ¹®ÀÚ¿­ üũ ÇÔ¼ö ¿¹Á¦(ereg) ¹®ÀÚ¿­¿¡ ¿µ¾î ´ë¼Ò¹®ÀÚ, ¼ýÀÚ¸¸ ¿Àµµ·Ï ÇÏ°Ô ÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù <? function check_id($string) { $error_msg = "error"; if (ereg("[^a-zA-Z0-9]", $string)) { $error_msg = $error_msg; return $error_msg; } else { return $string; } } $id1 = "abcd"; $id2 = "ZabCA"; $id3 = "9Zab01"; $id4 = "#ab.c.%"; $id5 = "ÇѱÛ"; $msg = check_id($id1); print "id1 : $msg"; $msg = check_id($id2); print "id2 : $msg"; $msg = check_id($id3); print "id3 : $msg"; $msg = check_id($id4); print "id4 : $msg"; $msg = check_id($id5); print "id5 : $msg"; ?> IDüũ ÇØÁÖ´Â ÇÁ·Î±×·¥ sql ¹® # MySQL dump 7.2 # # Host: localhost Database: test #-------------------------------------------------------- # Server version 3.23.11-alpha # # Table structure for table 'login3' # CREATE TABLE login3 ( nick char(10) ); # # Dumping data for table 'login3' # INSERT INTO login3 VALUES ('³ª¶óºñ'); test.php <? function add_error($why, $reason, $nick) { print "$reason<br>"; } $nick= "³ª¶óºñ"; if (ereg ("[~!@#$%^&*()~|"/'+=-_:;,.<>]", $nick)) { $why="´Ð³×ÀÓ"; $reason="´Ð³×ÀÓ¿¡ Ư¼ö¹®ÀÚ°¡ ÀÖ½À´Ï´Ù."; add_error($why,$reason,$nick); exit; } if(ereg(" ", $nick)) { $why="´Ð³×ÀÓ"; $reason="´Ð³×ÀÓ¿¡ °ø¹éÀÌ ÀÖ½À´Ï´Ù."; add_error($why,$reason,$nick); exit; } if($nick=="") { $head = "´Ð³×ÀÓ"; $mesg = "´Ð³×ÀÓÀÌ ¾ø½À´Ï´Ù."; add_error($head,$mesg,$nick); } if(strlen($nick) < 2) { $head = "´Ð³×ÀÓ"; $mesg = "´Ð³×ÀÓÀº Ư¼ö¹®ÀÚ¸¦ Á¦¿ÜÇÑ 2ÀÚÀÌ»óÀ¸·Î ³Ö¾îÁÖ¼¼¿ä."; add_error($head,$mesg,$nick); } $server = "localhost"; $name = "root"; $passwd = ""; $dbname = "test"; mysql_connect($server, $name, $passwd); mysql_select_db($dbname); $que1 = "select nick from login3 where nick='$nick'"; $result= mysql_query($que1); $current_row = mysql_fetch_row($result); if($current_row[0] == $nick) { $head = "´Ð³×ÀÓ"; $reason = $nick."´ÔÀÌ ÀÌ¹Ì µî·ÏµÇ¾î ÀÖ½À´Ï´Ù."; add_error($why,$reason,$nick); } else { print $nick; } ?> °Ô½Ã¹° ÆäÀÌÁö º¯°æ ¿¹Á¦ sql ¹® # MySQL dump 6.4 # # Host: localhost Database: test #-------------------------------------------------------- # Server version 3.23.5-alpha # # Table structure for table 'login' # CREATE TABLE login ( id char(10) DEFAULT '' NOT NULL, reg_date char(10), nick char(10), passwd char(10), name char(10), user_num int(11), address char(10), phone char(10), email char(10), job char(10), PRIMARY KEY (id) ); # # Dumping data for table 'login' # INSERT INTO login VALUES ('nalab1','','aaaa','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab2','','bbbb','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab3','','cccc','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab4','','dddd','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab5','','eeee','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab6','','ffff','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab7','','gggg','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab8','','hhhh','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nalab9','','iiii','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala10','','jjjj','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala11','','kkkk','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala12','','llll','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala13','','mmmm','bbbb','1111',0,'1','cccc','dddd','eeee'); INSERT INTO login VALUES ('nala14','','nnnn','bbbb','1111',0,'1','cccc','dddd','eeee'); test.php <? $server = "localhost"; $name = "root"; $passwd = ""; $dbname = "test"; mysql_connect($server, $name, $passwd); mysql_select_db($dbname); $page_scale=3; //ÇÑÆäÁã´ç º¸¿©ÁÙ ¼ýÀÚ ¹øÈ£[1][2][3] $scale=2; // ÇÑÆäÀÌÁã ´ç º¸¿©ÁÙ ¶óÀÎ °³¼ö(·¹ÄÚµå) if(!$star){ $star= 0 ;} // ½ÃÀÛÇÒ ·¹ÄÚµå ¹øÈ£ - 1 $page=floor($star/($scale*$page_scale)); // ÆäÀÌÁö ¼ö ¾ò±â $que1="select DATE_FORMAT(reg_date,'Y.m.d'), id,nick, passwd ,name , user_num, address, phone, email, job from login order by reg_date DESC " ; $result = mysql_query($que1); $total = mysql_affected_rows(); //°Ô½Ã¹° ÃÑ ¼ö $last=floor($total/$scale); //¸¶Áö¸· ¹øÈ£ echo "<font size=-1>Àüü µî·ÏÀÚ : $total ¸í ÀÔ´Ï´Ù."; echo "<html><title>ȸ¿ø°ü¸®</title><body bgcolor=ffffff><center><font size=4>ȸ¿ø°ü¸® ÆäÀÌÁö</font> <table border=1><tr bgcolor=336699> <td align=center><font color=ffffff size=-1>µî·ÏÀÏ</font><td align=center><font color=ffffff size=-1>ID</font></td> <td align=center><font color=ffffff size=-1>´Ð³×ÀÓ</font></td> <td align=center><font color=ffffff size=-1>ºñ¹Ð¹øÈ£</font></td> <td align=center><font color=ffffff size=-1>À̸§</font></td> <td align=center><font color=ffffff size=-1>Áֹεî·Ï¹øÈ£</font></td> <td align=center><font color=ffffff size=-1>ÁÖ¼Ò</font></td> <td align=center><font color=ffffff size=-1>¿¬¶ôó</font></td> <td align=center><font color=ffffff size=-1>E-Mail</font></td> <td align=center><font color=ffffff size=-1>Á÷¾÷</font></td> <td align=center><font color=ffffff size=-1>°ü¸®</font></td></tr>"; if($star) { $n=$total-$star; } else { $n=$total; } for($i=$star ; $i< $star+$scale ; $i++) // star ¿¡¼­ scale ±îÁö ¸¸ { if($i< $total ) // Àüü ÀÚ·á °³¼ö±îÁö¸¸ Ãâ·Â { mysql_data_seek($result,$i); $row=mysql_fetch_array($result); $imsi=$row[5]; echo"<tr><td align=center><font size=-1>$row[0]</font></td> <td align=center><font size=-1>$row[1]</font></td> <td align=center><font size=-1>$row[2]</font></td> <td align=center><font size=-1>$row[3]</font></td> <td align=center><font size=-1>$row[4]</font></td> <td align=center><font size=-1>$row[5]</font></td> <td align=center><font size=-1>$row[6]</font></td> <td align=center><font size=-1>$row[7]</font></td> <td align=center><font size=-1><a href=mailto:$row[8]>$row[8]</font></a></td> <td align=center><font size=-1>$row[9]</font></td> <td align=center><font size=-1><a href=$admin_url?action=erase&num=$row[5]&start=$start>»èÁ¦</a></font></td></tr> "; } $n--; } echo "</table><br><br>"; if($total>$scale) { if($star+1>$scale*$page_scale) { $pre_star=$star-$scale; echo"<a href='$PHP_SELF?star=$pre_star'> ÀÌÀü</a>"; } for($vj=0; $vj < $page_scale ; $vj++) { $ln=($page*$page_scale+$vj)*$scale; $vk=$page*$page_scale+$vj+1; if($ln < $total) { if($ln!=$star) { echo"<a href='$PHP_SELF?star=$ln'><font size=2>[$vk]</a></font>"; } else { echo"<font size-2><b>$vk</b></font>"; } } } if($total>(($page+1)*$scale*$page_scale)) { $n_star=($page+1)*$scale*$page_scale; echo"<a href='$PHP_SELF?star=$n_star'>´ÙÀ½</a>"; } } ?> Á¤±ÔÇ¥Çö½Ä Á¤±Ô½Ä Ç¥Çö a(b*) : a, ab, abb, a¿Í ÀÓÀÇÀÇ °¹¼öµé·Î µÈ ¹®ÀÚ¿­ a(b+) : ab, abb, abbb, ab¿Í ÀÓÀÇÀÇ °¹¼öµé·Î µÈ ¹®ÀÚ¿­ a(b?) : a or ab, a ´ÙÀ½¿¡ b°¡ À־ µÇ°í, ¾ø¾îµµ µÈ´Ù. a(b{3}) : abbb a(b{2,}) : abb, abbb, abbbb, a ¿Í µÎ°³ ÀÌ»óÀÇ bµé·Î µÈ ¹®ÀÚ¿­ a(b{2.4}) : abb, abbb, abbbb, a ¿Í µÎ°³ ÀÌ»ó, ³× °³ ÀÌÇÏÀÇ bµé·Î µÈ ¹®ÀÚ¿­ [a-z] : a-z ±îÁö ¹®ÀÚ¿­ [a-zA-Z0-9] : ÀÓÀÇ ¿µ¼ýÀÚ °ø¹é ¹®ÀÚ [^0-9] : ÀÓÀÇ ¼ýÀÚ°¡ ¾Æ´Ñ¹®ÀÚ [~a-zA-Z0-9]: ÀÓÀÌÀÇ ¿µ¼ýÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ ÀÓÀÇÀÇ °ø¹é¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ a.c : aac, abc, acc, a ¿Í c¿¡ ÀÓÀÇÀÇ ¹®ÀÚ Çϳª°¡ ³¢¾î ÀÖ´Â ¹®ÀÚ¿­ ^a.* : a·Î ½ÃÀÛÇÏ´Â ÀÓÀÇÀÇ ¹®ÀÚ¿­ [a-c]*x$ : x, ax, bx, abax, abcx, a¿¡¼­ c»çÀÌÀÇ ÀÓÀÇÀÇ ¹®ÀÚµé·ÎÀÌ·ç¾îÁö¸ç, ¸¶Áö¸· ¹®ÀÚ°¡ xÀÎ ¹®ÀÚ¿­ b[ao]y : bay ¶Ç´Â boy¿¡ÀÎ ¹®ÀÚ¿­ [^Zz]{5} : Z or z °¡ Æ÷ÇÔµÇÁö ¾ÊÀº ±æÀÌ°¡ 5ÀÎ ÀÓÀÇÀÇ ¹®ÀÚ¿­ [[:digit:]] : ÀÓÀÇÀÇ ¼ýÀÚ , [0-9] [[:<:]a.* : a·Î ½ÃÀÛÇÏ´Â ÀÓÀÇÀÇ ¹®ÀÚ¿­ ¿¹) ^([0-9]{2,4})(-[0-9]{3,4})(-[0-9]{3,4}) : ÀüÈ­¹øÈ£(xxxx-xxxx-xxxx) ÀÓÀÇÀÇ °ø¹é¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ ¿µ¾î ´Ü¾î °Ë»ö engdic ÇÁ·Î±×·¥ÀÌÀÖ³ª È®ÀÎÇÏ°í ¾øÀ¸¸é ¼³Ä¡ÇÑ´Ù. which engdic test.php, exec ¸¦ »ç¿ëÇؼ­ engdic ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. <? // ¿µÇÑ/ »çÀü ÀÔ´Ï´Ù. function engdic($string) { $cmd = "engdic $string"; exec($cmd,$array,$rtn); for ($i=0; $i < count($array); $i++) { $rstring .= "$array[$i]"; } return $rstring; } print engdic("hello"); ?> IP ¼Ò¼Ó±â°ü,ȸ»ç ¾Ë¾Æº¸±â fwhois ÇÁ·Î±×·¥ÀÌÀÖ³ª È®ÀÎÇÏ°í ¾øÀ¸¸é ¼³Ä¡ÇÑ´Ù. which fwhois test.php, exec ¸¦ »ç¿ëÇؼ­ engdic ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. <? //¾ÆÀÌÇÇ ¼Ò¼Ó ȸ»ç, ±â°ü ¾Ë¾Æ³»´Â ÇÔ¼ö function ip($string) { $cmd = "fwhois $string"."@whois.nic.or.kr"; exec($cmd,$array,$rtn); for ($i=0; $i < count($array); $i++) { $rstring .= "$array[$i]"; } return $rstring; } print ip("210.180.116.238"); ?> ÇöÀçÀÇ ³â/¿ù/ÀÏ ±¸Çϱâ <? function date_selector($name, $date) { $monthname = array(1=>"1¿ù", "2¿ù", "3¿ù", "4¿ù","5¿ù","6¿ù","7¿ù","8¿ù","9¿ù","10¿ù", "11¿ù","12¿ù"); if($date == "") { $date = time(); } //³â print "<select name = ".$year." year > "; $start_year = date("Y", $date); for($current_year = $start_year - 5; $current_year <= $start_year + 5; $current_year++) { print "<option value = $current_year"; if(date("Y", $date) == $current_year) { print " selected "; } print " > $current_year "; } print "</select>"; //¿ù print "<select name = ".$month." month >"; for($current_month = 1; $current_month <= 12; $current_month++) { print "<option value = $current_month "; if(date("m", $date) == $current_month) { print " selected "; print ">"; print $monthname[$current_month]; } else { print ">"; print $monthname[$current_month]; } print " "; } print "</select>"; //ÀÏ print "<select name = ".$day." day >"; for($current_day = 1; $current_day <= 31; $current_day++) { print "<option value = $current_day "; if(date("d", $date) == $current_day ) { echo " selected "; } echo " > $current_day ÀÏ"; } print "</select>"; } echo "<html> <head> <title>¿¬½À</title> <body>"; if(isset($month)) { //$use_date = mktime(0, 0, 0, $sample_month, $sample_day, $sample_year); $use_date = mktime(0, 0, 0, $month, $day, $year); } else { $use_date = time(); } print "<form action = cal.php method = post>"; print date_selector("cal", $use_date); echo "<input type = submit value = ÀÔ·Â> </form> </body> </html>"; ?> ÀÚ¹Ù½ºÅ©¸³Æ® idcheck¸¦ À§ÇÑ ¿¹Á¦ ±âÁ¸¿¡ ¾ÆÀ̵𰡠ÀÖ³ª ¾ø³ª¸¦ üũ¸¦ Çϱâ À§Çؼ­. idcheck.htm <html> <script language="JavaScript"> function id_chk(obj) { var form = document.select1; var w_id_chk; if ( form.s_id.value == "" ) { alert("¾ÆÀ̵𸦠ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù."); form.s_id.focus(); return; } else if ((form.s_id.value.toString().length < 4) || (form.s_id.value.toString().length > 10)) { alert("¾ÆÀ̵ð´Â 4ÀÚÀÌ»ó 10ÀÚÀ̳»·Î ÀÔ·ÂÇÏ¿© Áֽʽÿä."); form.s_id.focus(); return; } ck=1; var str = 'idcheck.php?s_id='+obj.s_id.value; window.open(str,'w_id_chk','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=300,height=150'); return; } </script> <body> <form method=post name=select1 > <table> <tr> <td width = 200 BGCOLOR="#F2F5F1" align = right><font size="2" color="red">*</font><font size="2">¼ö°­»ý ¾ÆÀ̵ð</font></td> <td width = 550><font size="2"><input type=text name=s_id size=8 maxlength=8> <input TYPE='buton' NAME='chkbutton' VALUE='Áߺ¹¾ÆÀ̵ð È®ÀÎ' onClick="deny_javascript:id_chk(this.form);"></a> <br>4~8ÀÚ ¿µ¹®¼ýÀÚ Á¶ÇÕ, ù±ÛÀÚ´Â ¿µ¹®, ´ë¼Ò¹®ÀÚ ±¸º°¾ÈÇÔ</font></td> </tr> </table> </from> </body> </html> idcheck.php <html> <body> <? include "db.ph"; db_connect(); $sth3 = mysql_query("select id from cls_member where id = '$s_id'"); $total = mysql_affected_rows(); //°Ô½Ã¹° ÃÑ ¼ö if($total == "0") { print "<br><br><br><font size = 2>$s_id ´Â »ç¿ëÇÒ¼ö ÀÖ´Â ¾ÆÀ̵ð ÀÔ´Ï´Ù.</font>"; } else { print "<br><br><br><font size = 2>$s_id ´Â ÀÌ¹Ì »ç¿ëÁßÀÎ ¾ÆÀ̵ð ÀÔ´Ï´Ù.</font>"; } ?> </body> </html> ¸Þ´º ¸¸µé±â ¿¹Á¦ <html> <script language="JavaScript"> <!-- // ¸¶¿ì½º¸¦ ÁÖ¸Þ´º À§¿¡ ¿Ã·Á ³õÀ¸¸é ºÎ¸Þ´º°¡ ³ª¿À°Ô ÇÏ´Â ½ºÅ©¸³Æ® function MM_findObj(n, d) { //v3.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x; } function MM_showHideLayers() { //v3.0 var i,p,v,obj,args=MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; } obj.visibility=v; } } // ºÎ¸Þ´º ·Ñ¿À¹ö ±â´É function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v3.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> <body marginheight=0 marginwidth=0 topmargin=0 rightmargin=0 leftmargin="0" bgcolor="ffffff"> <table width="780" border="0" cellspacing="0" cellpadding="0" > <tr><td height="67" ></td><td height="67" width="120"><img src="top_img/p0.gif"></td></tr> <tr><td><a href="#" onMouseOver="MM_showHideLayers('about1','','show', 'glmoum','','hide')"><img name="about" border="0" src="menu_img/aboutus0.gif" width="85" height="33"></A><a href="#" onMouseOver="MM_showHideLayers('product1','','show', 'glmoum','','hide')"><img name="product" border="0" src="menu_img/product0.gif" width="73" height="33"></a><a href="#" onMouseOver="MM_showHideLayers('news1','','show', 'glmoum','','hide')"><img name="news" border="0" src="menu_img/news0.gif" width="54" height="33"></a><a href="#" onMouseOver="MM_showHideLayers('mdata','','show', 'glmoum','','hide')"><img name="data" border="0" src="menu_img/data0.gif" width="99" height="33"></a><a href="#" onMouseOver="MM_showHideLayers('mcollaborator','','show', 'glmoum','','hide')"><img name="coll" border="0" src="menu_img/collaborator0.gif" width="110" height="33"></a><a href="#" onMouseOver="MM_showHideLayers('mcontactus','','show', 'study','','hide')"><img name="contact" border="0" src="menu_img/contactus0.gif" width="99" height="33"></a><a href="#" onMouseOver="MM_showHideLayers('msitemap','','show', 'study','','hide')"><img name="map" border="0" src="menu_img/sitemap0.gif" width="74" height="33"></a><img name="map" border="0" src="top_img/blank.gif" width="66" height="33"></td><td height="33" width="120"><img src="top_img/p1.gif"></td></tr> </table> <!-- about us --> <div id="about1" style="position:absolute; z-index:1; left: 0; top: 67 ;visibility: hidden"> <!-- ÁÖ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td><img name="about" border="0" src="menu_img/aboutus1.gif" width="85" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('about1','','hide')"><img name="product" border="0" src="top_img/blank.gif" width="73" height="33"></a></td> <td><a href="#" onMouseOver="MM_showHideLayers('about1','','hide')"><img name="product" border="0" src="menu_img/news0.gif" width="54" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('about1','','hide')"><img name="coll" border="0" src="menu_img/data0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('about1','','hide')"><img name="coll" border="0" src="menu_img/collaborator0.gif" width="110" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('about1','','hide')"><img name="contact" border="0" src="menu_img/contactus0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('about1','','hide')"><img name="contact" border="0" src="menu_img/sitemap0.gif" width="74" height="33"></td> </tr> </table> <table border="0" cellspacing="0" cellpadding="0" > <tr> <!-- ºÎ¸Þ´º --> <td width=660 height="28" colspan="2" bgcolor="#0D3689"><a href="../about1.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('about sub 1','','menu_img/about_11.gif',0)"><img name="about sub 1" border="0" src="menu_img/about_10.gif" width="154" height="28"></a><a href="../about2.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('about sub 2','','menu_img/about_21.gif',0)"><img name="about sub 2" border="0" src="menu_img/about_20.gif" width="85" height="28"></a><a href="../about3.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('about sub 3','','menu_img/about_31.gif',0)"><img name="about sub 3" border="0" src="menu_img/about_30.gif" width="102" height="28"></a><a href="../about4.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('about sub 4','','menu_img/about_41.gif',0)"><img name="about sub 4" border="0" src="menu_img/about_40.gif" width="86" height="28"></a><a href="about5.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('about sub 5','','menu_img/about_51.gif',0)"><img name="about sub 5" border="0" src="menu_img/about_50.gif" width="166" height="28"></a><a href="about6.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('about sub 6','','menu_img/about_61.gif',0)"><img name="about sub 6" border="0" src="menu_img/about_60.gif" width="67" height="28"></a></td><td height="28" width="120"><img src="top_img/blank.gif" WIDTH="100" HEIGHT="5"></td></tr> </table> </div> <!-- product --> <div id="product1" style="position:absolute; z-index:1; left: 0; top: 67 ;visibility: hidden"> <!-- ÁÖ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td><a href="#" onMouseOver="MM_showHideLayers('product1','','hide')"><img name="about" border="0" src="menu_img/aboutus0.gif" width="85" height="33"></a></td> <td><img name="product" border="0" src="menu_img/product1.gif" width="73" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('product1','','hide')"><img name="product" border="0" src="menu_img/news0.gif" width="54" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('product1','','hide')"><img name="coll" border="0" src="menu_img/data0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('product1','','hide')"><img name="coll" border="0" src="menu_img/collaborator0.gif" width="110" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('product1','','hide')"><img name="contact" border="0" src="menu_img/contactus0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('product1','','hide')"><img name="contact" border="0" src="menu_img/sitemap0.gif" width="74" height="33"></td> </tr> </table> <!-- ºÎ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td width=660 height="28" colspan="2" bgcolor="#0D3689"><a href="product1.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('product 1','','menu_img/product_11.gif',0)"><img name="product 1" border="0" src="menu_img/product_10.gif" width="80" height="28"></a><a href="product2.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('product 2','','menu_img/product_21.gif',0)"><img name="product 2" border="0" src="menu_img/product_20.gif" width="116" height="28"></a><a href="product3.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('product 3','','menu_img/product_31.gif',0)"><img name="product 3" border="0" src="menu_img/product_30.gif" width="148" height="28"></a><a href="product4.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('product 4','','menu_img/product_41.gif',0)"></td> </tr> </table></div> <!-- news --> <div id="news1" style="position:absolute; z-index:1; left: 0; top: 67 ;visibility: hidden"> <!-- ÁÖ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td><a href="#" onMouseOver="MM_showHideLayers('news1','','hide')"><img name="about" border="0" src="menu_img/aboutus0.gif" width="85" height="33"></a></td> <td><a href="#" onMouseOver="MM_showHideLayers('news1','','hide')"><img name="product" border="0" src="menu_img/product0.gif" width="73" height="33"></a></td> <td><img name="product" border="0" src="menu_img/news1.gif" width="54" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('news1','','hide')"><img name="coll" border="0" src="menu_img/data0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('news1','','hide')"><img name="coll" border="0" src="menu_img/collaborator0.gif" width="110" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('news1','','hide')"><img name="contact" border="0" src="menu_img/contactus0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('news1','','hide')"><img name="contact" border="0" src="menu_img/sitemap0.gif" width="74" height="33"></td> </table> <!-- ºÎ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td width=660 height="28" colspan="2" bgcolor="#0D3689"><a href="news1.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('news 1','','menu_img/news_11.gif',0)"><img name="news 1" border="0" src="menu_img/news_10.gif" width="95" height="28"></a><a href="news2.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('news 2','','menu_img/news_21.gif',0)"><img name="news 2" border="0" src="menu_img/news_20.gif" width="179" height="28"></a><a href="news3.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('news 3','','menu_img/news_31.gif',0)"><img name="news 3" border="0" src="menu_img/news_30.gif" width="122" height="28"></a><a href="news4.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('news 4','','menu_img/news_41.gif',0)"></td> </tr> </table></div> <!-- data --> <div id="mdata" style="position:absolute; height: 50; z-index:1; left: 0; top: 67; visibility: hidden"> <!-- ÁÖ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td><a href="#" onMouseOver="MM_showHideLayers('mdata','','hide')"><img name="about" border="0" src="menu_img/aboutus0.gif" width="85" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mdata','','hide')"><img name="product" border="0" src="menu_img/product0.gif" width="73" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mdata','','hide')"><img name="product" border="0" src="menu_img/news0.gif" width="54" height="33"></A></td> <td><img name="coll" border="0" src="menu_img/data1.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mdata','','hide')"><img name="coll" border="0" src="menu_img/collaborator0.gif" width="110" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mdata','','hide')"><img name="contact" border="0" src="menu_img/contactus0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mdata','','hide')"><img name="contact" border="0" src="menu_img/sitemap0.gif" width="74" height="33"></td> </tr> </table> <!-- ºÎ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td width=660 height="28" colspan="2" bgcolor="#0D3689"><a href="data1.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('data room 1','','menu_img/data_11.gif',0)"><img name="data room 1" border="0" src="menu_img/data_10.gif" width="85" height="28"></a><a href="data2.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('data room 2','','menu_img/data_21.gif',0)"><img name="data room 2" border="0" src="menu_img/data_20.gif" width="196" height="28"></a><a href="data3.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('data room 3','','menu_img/data_31.gif',0)"><img name="data room 3" border="0" src="menu_img/data_30.gif" width="111" height="28"></a><a href="data4.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image30','','menu_img/data_41.gif',0)"></td> </tr> </table></div> <! -- collaborator --> <div id="mcollaborator" style="position:absolute; height: 50; z-index:1; left: 0; top: 67; visibility: hidden"> <!-- ÁÖ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td><a href="#" onMouseOver="MM_showHideLayers('mcollaborator','','hide')"><img name="about" border="0" src="menu_img/aboutus0.gif" width="85" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcollaborator','','hide')"><img name="product" border="0" src="menu_img/product0.gif" width="73" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcollaborator','','hide')"><img name="product" border="0" src="menu_img/news0.gif" width="54" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcollaborator','','hide')"><img name="coll" border="0" src="menu_img/data0.gif" width="99" height="33"></A></td> <td><img name="coll" border="0" src="menu_img/collaborator1.gif" width="110" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcollaborator','','hide')"><img name="contact" border="0" src="menu_img/contactus0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcollaborator','','hide')"><img name="contact" border="0" src="menu_img/sitemap0.gif" width="74" height="33"></td> </table> <!-- ºÎ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td width=660 height="28" colspan="2" bgcolor="#0D3689"><a href="coll1.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('collaborator 1','','menu_img/collaborator_11.gif',0)"><img name="collaborator 1" border="0" src="menu_img/collaborator_10.gif" width="129" height="28"></a><a href="coll2.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('collaborator 2','','menu_img/collaborator_21.gif',0)"><img name="collaborator 2" border="0" src="menu_img/collaborator_20.gif" width="158" height="28"></a></td> </tr> </table></div> <!-- contactus --> <div id="mcontactus" style="position:absolute; height: 50; z-index:1; left: 0; top: 67; visibility: hidden"> <!-- ÁÖ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td><a href="#" onMouseOver="MM_showHideLayers('mcontactus','','hide')"><img name="about" border="0" src="menu_img/aboutus0.gif" width="85" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcontactus','','hide')"><img name="product" border="0" src="menu_img/product0.gif" width="73" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcontactus','','hide')"><img name="product" border="0" src="menu_img/news0.gif" width="54" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcontactus','','hide')"><img name="coll" border="0" src="menu_img/data0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcontactus','','hide')"><img name="coll" border="0" src="menu_img/collaborator0.gif" width="110" height="33"></A></td> <td><img name="contact" border="0" src="menu_img/contactus1.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('mcontactus','','hide')"><img name="contact" border="0" src="menu_img/sitemap0.gif" width="74" height="33"></td> </table> <!-- ºÎ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td width=660 height="28" colspan="2" bgcolor="#0D3689"><a href="contactus.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('contactus 1','','menu_img/contactus_11.gif',0)"><img name="contactus 1" border="0" src="menu_img/contactus_10.gif" width="134" height="28"></a><a href="contactus2.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('contactus 2','','menu_img/contactus_21.gif',0)"><img name="contactus 2" border="0" src="menu_img/contactus_20.gif" width="78" height="28"></a><a href="contactus3.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('contactus 3','','menu_img/contactus_31.gif',0)"></td> </tr> </table></div> <! -- sitemap --> <div id="msitemap" style="position:absolute; height: 50; z-index:1; left: 0; top: 67; visibility: hidden"> <! -- ÁÖ¸Þ´º --> <table border="0" cellspacing="0" cellpadding="0" > <tr> <td><a href="#" onMouseOver="MM_showHideLayers('msitemap','','hide')"><img name="about" border="0" src="menu_img/aboutus0.gif" width="85" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('msitemap','','hide')"><img name="product" border="0" src="menu_img/product0.gif" width="73" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('msitemap','','hide')"><img name="product" border="0" src="menu_img/news0.gif" width="54" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('msitemap','','hide')"><img name="coll" border="0" src="menu_img/data0.gif" width="99" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('msitemap','','hide')"><img name="coll" border="0" src="menu_img/collaborator0.gif" width="110" height="33"></td> <td><a href="#" onMouseOver="MM_showHideLayers('msitemap','','hide')"><img name="contact" border="0" src="menu_img/contactus0.gif" width="99" height="33"></td> <td><img name="map" border="0" src="menu_img/sitemap1.gif" width="74" height="33"></td> </tr> </table> <!-- ºÎ¸Þ´º --> </table><table border="0" cellspacing="0" cellpadding="0" > <tr><td></td></tr> </table> </div> </table> </body> </html> Oracle Å×ÀÌºí ±¸Á¶ id int, name char(20), age int, addr(20) test.php <?php $conn = OCILogon("scott","tiger"); //·Î±×ÀÎÀ» ÇÑ´Ù. $stmt = OCIParse($conn,"select * from test"); //testÅ×À̺íÀÇ ³»¿ëÀ» º¯¼ö¿¡ ÀúÀåÇÑ´Ù. OCIExecute($stmt); //ÀúÀåÇÑ º¯¼ö¸¦ È°¼ºÈ­ ÇÑ´Ù. while (OCIFetchInto($stmt, $col, OCI_NUM)) { //º¯¼öÀÇ ³»¿ëÀ» °¡Á®¿Â´Ù. echo "". $col[0]."....". $col[1]."....". $col[2]."....". $col[3]." "; //Å×À̺íÀÇ ³»¿ëÀ» Ãâ·Â ½ÃŲ´Ù. } OCIFreeStatement($stmt); // º¯¼öÀÇ ³»¿ëÀ» Áö¿î´Ù. OCILogoff($conn);// ·Î±× ¿ÀÇÁ¸¦ ÇÑ´Ù. ?> Mysql mysql ÁÖ±âÀûÀ¸·Î ¹é¾÷Çϱâ myhome_bakcup ¼¿½ºÅ©¸³Æ® #!/bin/bash T=$(echo `date +%Y%m%d%H%M`) MY=$(echo /home/nalabi/backup) echo "nalabi ÀÇ µ¥ÀÌŸ°¡ ¹é¾÷ µÇ¾ú½À´Ï´Ù. $T" mysqldump myhome > $MY/myhome$T.sql gzip $MY/myhome$T.sql /etc/crontab »ç¿ëÇϱâ SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly Çü½Ä : a b c d e id runparts directory ºÐ(0~59) ½Ã(0~24) ³¯Â¥(0~31) ´Þ(0~12) ¿äÀÏ(0~7) id(Å©·ÐÀÌ »ç¿ëÇÒ °èÁ¤) directory(½ÇÇàÇÏ°ÔµÉ ÆÄÀÏ ³õÀÌ°Ô µÉ °æ·Î) ¿¹Á¦ : 15 14 1 * * root /home/nalabi/backup/myhome_backup ¸Å´Þ 1ÀÏ ¿ÀÈÄ 2½Ã 15¿¡ myhome_backupÀ» ½ÇÇàÇÑ´Ù. 0 22 * * 1-5 root /home/nalabi/backup/myhome_backup ¿ù¿äÀÏ ºÎÅÍ ±Ý¿äÀϱîÁö ¸ÅÀÏ ¿ÀÈÄ 8½Ã¿¡ myhome_backupÀ» ½ÇÇàÇÑ´Ù. 23 0-23/2 * * * root /home/nalabi/backup/myhome_backup ¸ÅÀÏ 0, 2, 4, ....½Ã 23ºÐ¿¡ ½ÇÇàÇÑ´Ù. mysql ·çÆ® Æнº¿öµå¸¦ ÀÒ¾î ¹ö·ÈÀ» ¶§ mysql ÁßÁöÇÑ´Ù. /etc/init.d/mysql stop µ¥¸óÀ» ¾Æ¹«³ª µé¾î°¥¼ö ÀÖ°Ô ´Ù½Ã ½ÇÇàÇÑ´Ù. safe_mysqld --skip-grant & ·çÆ® Æнº¿öµå¸¦ º¯°æÇÑ´Ù. mysql> update user set password='' where user='root'; mysql À» Àç½Ãµ¿ ÇÕ´Ï´Ù. /etc/init.d/mysql stop /etc/init.d/mysql start µ¥ÀÌŸ ŸÀÔ (Å×ÀÌºí »ý¼º½Ã Ä÷³ÀÇ µ¥ÀÌŸ ŸÀÔÀÔ´Ï´Ù.) ¼öÄ¡ µ¥ÀÌÅÍ Å¸ÀÔ * INTEGER (INT) * SMALLINT * NUMBER * DECIMAL(DEC) (x,y) : x´Â ½Ç¼öÀÚ¸®, y´Â ¼Ò¼öÁ¡ ÀÌÇÏÀÚ¸® * FLOAT ¹®ÀÚ µ¥ÀÌÅÍ Å¸ÀÔ * VARCHAR (n) : 8ºñÆ® ¹®ÀÚ ±æÀÌ°¡ ÃÖ´ë n°³ÀÎ ¹®ÀÚ¿­ *CHARACTER(CHAR) (n) : n°³ÀÇ 8ºñÆ® ¹®ÀÚ¿­ * LONG ±×¿ÜÀǵ¥ÀÌÅÍ Å¸ÀÔ * DATE/TIME : ³¯Â¥/½Ã°£ * LONG RAW ½©¿¡¼­ DB ³»¿ë º¸±â mysqlshow +-----------+ |Databases | +-----------+ | board | | kedu | | mysql | | test | +-----------+ Mysql¿¡ µé¾î°¡±â mysql test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with-A Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 7 to server version: 3.22.23b Type 'help' for help. mysql> µ¥ÀÌŸ ¹é¾÷ ¹Þ±â (È­ÀÏ·Î ¹ÞÀ½) mysqldump ¸¦ ÀÌ¿ëÇؼ­ sql µ¥ÀÌŸ¸¦ ¹é¾÷ ¹ÞÀ»¼ö ÀÖÀ¸¸ç DBÀ̸§¸¸ ÁöÁ¤Çϸé Àüü Å×À̺íÀÌ, Å×À̺í À̸§ ±îÁö ÁöÁ¤Çϸé ÇØ´ç Å×ÀÌºí¸¸ ¹é¾÷À» ÇÒ¼ö ÀÖ´Ù. mysqldump DBÀ̸§ (tableÀ̸§) > È­ÀÏÀ̸§ mysqldump test test > test.sql # MySQL dump 6.0 # # Host: localhost Database: test #-------------------------------------------------------- # Server version 3.22.23b # # Table structure for table 'test' # CREATE TABLE test ( no int(11), name char(10), tel char(15), addr char(20), sex char(1), birth date ); # # Dumping data for table 'test' # INSERT INTO test VALUES (2,'ÀÌÁÖ»ó','02-504-xxxx','°úõ½Ã','m','1971-02-02'); INSERT INTO test VALUES (3,'ÀÓÁ¤³²','02-420-xxxx','¼ÛÆı¸','f','1971-03-03'); INSERT INTO test VALUES (4,'°­Çà¸ð','02-856-xxxx','°ü¾Ç±¸','f','1971-04-04'); INSERT INTO test VALUES (5,'ÀÌÇö¿µ','0342-718-xxxx','ºÐ´ç±¸','m','1971-05-05'); INSERT INTO test VALUES (6,'À̺´È¯','02-891-xxxx','ÇϾȵ¿','m','1980-06-06'); INSERT INTO test VALUES (1,'³²»ó¿í','333-4444','µ¿ÀÛ±¸','m','1971-01-01'); µ¥ÀÌŸ ÀÔ·ÂÇϱâ (È­ÀÏ--> Mysql) mysql test < test.sql Âü°í·Î µ¥ÀÌŸ È®ÀÎÀº mysql -e "select * from test" test +------+--------+---------------+--------+------+------------+ | no | name | tel | addr | sex | birth | +------+--------+---------------+--------+------+------------+ | 2 |ÀÌÁÖ»ó | 02-504-xxxx | °úõ½Ã | m | 1971-02-02 | | 3 | ÀÓÁ¤³² | 02-420-xxxx | ¼ÛÆı¸ | f | 1971-03-03 | | 4 | °­Çà¸ð | 02-856-xxxx | °ü¾Ç±¸ | f | 1971-04-04 | | 5 | ÀÌÇö¿µ | 0342-718-xxxx | ºÐ´ç±¸ | m | 1971-05-05 | | 6 | À̺´È¯ | 02-891-xxxx | ÇϾȵ¿ | m | 1980-06-06 | | 1 | ³²»ó¿í | 333-4444 | µ¿ÀÛ±¸ | m | 1971-01-01 | +------+--------+---------------+--------+------+------------+ »ç¿ëÀÚ ¸¸µé±â aaaa¶ó´Â »ç¿ëÀÚ(user)¸¦ ¸¸µì´Ï´Ù. mysql mysql(mysql db·Î µé¾î°©´Ï´Ù.) mysql>insert into user values ('localhost','aaaa','','y','y','y','y','y','y','y','y','y','y','y','y','y','y'); Query OK, 1 row affected (0.04 sec) reload ¸¦ ²À ½ÇÇà½Ãŵ´Ï´Ù.(½©¿¡¼­) mysqladmin reload aaaa¶ó´Â »ç¿ëÀÚ¿¡°Ô aaaa¶ó´Â ºñ¹Ð¹øÈ£¸¦ ºÎ¿©ÇÕ´Ï´Ù. mysqladmin -u aaaa password aaaa mysqladmin reload µ¥ÀÌŸ º£À̽º ¸¸µé±â »ç¿ëÀÚ°¡ ¾øÀ» °æ¿ì : mysqladmin create aaaa »ç¿ëÀÚ¿Í ºñ¹Ð¹øÈ£°¡ ÀÖ´Â °æ¿ì : mysqladmin -u aaaa -p create aaaa (or) mysqladmin -u aaaa -paaaa create aaaa ¼­¹öÀÇ µ¥ÀÌŸ º£À̽º ²ø¾î¿À±â ¼­¹ö »óÀÇ µ¥ÀÌŸ º£À̽º¸¦ ³ªÀÇ ÄÄÀÇ ÇÁ·Î±×·¥À¸·Î °¡Á® ¿Ã¶§ »ç¿ëÇÕ´Ï´Ù. ¼­¹öÀÇ mysql mysql À» ½ÇÇà ÇÕ´Ï´Ù. INSERT INTO db VALUES ('³ªÀÇ ÄÄ ¾ÆÀÌÇÇ','DBÀ̸§','»ç¿ëÀÚ','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); INSERT INTO user VALUES ('³ªÀÇ ÄÄ ¾ÆÀÌÇÇ '»ç¿ëÀÚ ','ºñ¹Ð¹øÈ£ ','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); ±×¸®°í, À§ÀÇ Äù¸®¹®À» ÆíÁýÇؼ­ ½ÇÇà ÇÕ´Ï´Ù. ±×·Á¸é ³ªÀÇ ÄÄ¿¡ DB°¡ ¾ø¾îµµ ¼­¹öÀÇ DB¸¦ °¡Á®¿Í¼­ »ç¿ëÀ» ÇÒ¼ö°¡ ÀÖ½À´Ï´Ù. Å×ÀÌºí ¸¸µé±â »ç¿ë¹ý : create table Å×À̺íÀ̸§(º¯¼ö¸í º¯¼ö°ª, ......); mysql> create table test (no int, name char(10), age int, tel char(15)); Query OK, 0 rows affected (0.00 sec) Å×ÀÌºí º¸±â »ç¿ë¹ý : show tables; mysql> show tables; +-----------------+ | Tables in test | +-----------------+ | test | +-----------------+ 2 rows in set (0.00 sec) mysql> show tables like 'ad_%'; +-------------------------+ | Tables_in_dbkedu (ad_%) | +-------------------------+ | ad_expose | | ad_img | | ad_redirect | | address | +-------------------------+ 4 rows in set (0.00 sec) Å×ÀÌºí µ¥ÀÌŸ ÀÔ·ÂÇϱâ mysql > insert into test values(1,'±è¿ëÀÏ','29','02-825-xxxx'); Query OK, 1 row affected (0.00 sec) ƯÁ¤ Çʵ常 ÀÔ·Â mysql> insert into test (no,name) values ('7','³²»ó¿í'); Query OK,1 row affected (0.00 sec) Å×ÀÌºí³»¿ë º¸±â select ¹®À» ÀÌ¿ëÇÑ´Ù. mysql> select * from test; +------+--------+------+---------------+ | no | name | age | tel | +------+--------+------+---------------+ | 1 | ±è¿ëÀÏ | 29 | 02-825-xxxx | | 2 | ÀÌÁÖ»ó | 29 | 02-504-xxxx | | 3 | ÀÓÁ¤³² | 29 | 02-420-xxxx | | 4 | °­Çà¸ð| 29 | 02-856-xxxx | | 5 | ÀÌÇö¿µ | 29 | 0342-718-xxxx | | 6 |À̺´È¯ | 12 |02-891-xxxx | | 7 | ³²»ó¿í | NULL | NULL | +------+--------+------+---------------+ 7 rows in set (0.00 sec) Çʵå Ãß°¡ alter ¹®À» ÀÌ¿ëÇÑ´Ù. mysql> alter table test add addr char(20); Query OK, 1 row affected (0.00 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> desc test; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | no |int(11) | YES | | NULL | | | name | char(10) | YES | | NULL | | | age | int(11) | YES | | NULL | | | tel | char(15) | YES | | NULL | | | addr | char(20) | YES | | NULL | | +-------+----------+------+-----+---------+-------+ 5 rows in set (0.00 sec) ÇÊµå »èÁ¦ alter ¹®À» ÀÌ¿ëÇÑ´Ù. mysql> alter table test drop age; Query OK, 6 rows affected (0.01 sec) Records: 6 Duplicates: 0 Warnings: 0 ±âŸ alter ¿ë¹ý alter ¹®À» ÀÌ¿ëÇÑ´Ù. ALTER TABLE¿¡´Â ´ÙÀ½ ¼¼°¡Áö Çü½ÄÀÌ ÀÖ½À´Ï´Ù. ALTER TABLE table_name ADD ( ... ) ; ALTER TABLE table_name MODIFY( ... ) ; ALTER TABLE table_name DROP PRIMARYKEY ; ALTER TABLE t1 RENAME t2; Å×À̺í À̸§À» t1¿¡¼­ t2·Î ¹Ù²Þ ALTER TABLE t2 CHANGE a a TINYINT NOT NULL, CHANGE b c CHAR(20); Å×ÀÌºí ³»ÀÇ Ä÷³ ¼Ó¼ºÀ» ¹Ù²Þ ¿ø·¡ Ä÷³ a´Â INTEGER¿´´Âµ¥ TINYINT·Î, Ä÷³b´Â CHAR(10)À̾ú´Âµ¥ Ä÷³À̸§Àº c·Î ÀÌŸ ŸÀÔÀº CHAR(20)À¸·Î ¼öÁ¤ ALTER TABLE t2 ADD d TIMESTAMP; Å×À̺í t2¿¡ d¶ó´ÂÀ̸§À¸·Î TIMESTAMP ÇüÀ¸·Î Ãß°¡ ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a); »õ·Î¿î ÀÎÅؽº¸¦ »ý¼º Ä÷³ a¿¡ primary key »ý¼º. ALTER TABLE test MODIFY (age NUMBER NULL ); NOT NULLÀ» NULL·Î ¹Ù²Ù±â ALTER TABLE test MODIFY (age NUMBER NOT NULL ); NULLÀ» NOT NULL·Î ¹Ù²Ù±â ALTER TABLEtest MODIFY (name VARCHAR2( 20 ) ); ¿­ÀÇ Æø ´ÃÀ̱â ALTER TABLE test MODIFY (name VARCHAR2( 15 ) ); ¿­ÀÇ Æø ÁÙÀ̱â ALTER TABLE t2 DROP COLUMN c; Ä÷³ c¸¦ ¾ø¾Ö¹ö¸®°í ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (c); t2 Å×ÀÌºí¿¡ c¶ó´Â Ä÷³À» »õ·Î »ý¼º½ÃÅ°´Âµ¥ INT (INTEGER) : Á¤¼ö UNSIGNED : ¾ç¼ö NOT NULL : ¾Æ¹«µ¥ÀÌŸ°¡ ¾øÀ¸¸é '0' AUTO_INCREMENT : µ¥ÀÌŸ°¡ ÀÚµ¿ÀûÀ¸·Î ÀԷµÊ... ADD INDEX (c) : Ä÷³ c¿¡ ´ëÇؼ­ ÀÎÅؽº »ý¼º µ¥ÀÌŸ »èÁ¦ delete ¸¦ ÀÌ¿ëÇÑ´Ù. mysql>delete from test where name='±è¿ëÀÏ'; Query OK, 1 row affected(0.00 sec) µ¥ÀÌŸ ¼öÁ¤ update¸¦ ÀÌ¿ëÇÑ´Ù. mysql> update test set no=1,tel='333-4444' where name='³²»ó¿í'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> update test set addr='µ¿ÀÛ±¸' where no='1'; ³»¸² Â÷¼øÀ¸·Î Á¤·Ä order¹®À» ÀÌ¿ë mysql> select * from test order by no desc; +------+--------+------+---------------+--------+ | no | name | age | tel | addr | +------+--------+------+---------------+--------+ | 6 | À̺´È¯ |12 | 02-891-xxxx | NULL | | 5 | ÀÌÇö¿µ | 29 | 0342-718-xxxx | NULL | | 4 | °­Çà¸ð | 29 | 02-856-xxxx | NULL | | 3 | ÀÓÁ¤³² | 29 | 02-420-xxxx | NULL | | 2| ÀÌÁÖ»ó | 29 | 02-504-xxxx | NULL | | 1 | ³²»ó¿í | NULL | 333-4444 | µ¿ÀÛ±¸ | +------+--------+------+---------------+--------+ 6 rows in set (0.01 sec) ¹«ÀÛÀ§ Á¤·Ä rand¹®À» ÀÌ¿ë mysql> select * from test order by rand(); +------+--------+---------------+--------+------+------------+ | no | name | tel | addr | sex | birth | +------+--------+---------------+--------+------+------------+ | 5 | ÀÌÇö¿µ | 0342-718-xxxx | ºÐ´ç±¸ | m | 1971-05-05 | | 4 | °­Çà¸ð | 02-856-xxxx | °ü¾Ç±¸ | f | 1971-04-04 | | 2 | ÀÌÁÖ»ó | 02-504-xxxx | °úõ½Ã | m | 1971-02-02 | | 1 | ³²»ó¿í | 333-4444 | µ¿ÀÛ±¸ | m | 1971-01-01 | | 6 | À̺´È¯ | 02-891-xxxx | ÇϾȵ¿ | m | 1980-06-06 | | 3 | ÀÓÁ¤³² | 02-420-xxxx | ¼ÛÆı¸ | f | 1971-03-03 | +------+--------+---------------+--------+------+------------+ 6 rows in set (0.01 sec) ³âµµ¼øÀ¸·Î Á¤·Ä year¹® ÀÌ¿ë mysql> select * from test order by year(birth) desc; +------+--------+---------------+--------+------+------------+ | no | name | tel | addr | sex | birth | +------+--------+---------------+--------+------+------------+ | 6 | À̺´È¯ | 02-891-xxxx | ÇϾȵ¿ | m | 1980-06-06 | | 2 | ÀÌÁÖ»ó | 02-504-xxxx | °úõ½Ã | m | 1971-02-02 | | 3 | ÀÓÁ¤³² | 02-420-xxxx | ¼ÛÆı¸ | f | 1971-03-03 | | 4 | °­Çà¸ð | 02-856-xxxx | °ü¾Ç±¸ | f | 1971-04-04 | | 5 | ÀÌÇö¿µ | 0342-718-xxxx | ºÐ´ç±¸ | m | 1971-05-05 | | 1 | ³²»ó¿í | 333-4444 | µ¿ÀÛ±¸ | m | 1971-01-01 | +------+--------+---------------+--------+------+------------+ 6 rows in set (0.00 sec) ³âµµ, ¹øÈ£¼øÀ¸·Î Á¤·Ä year ¹® ÀÌ¿ë mysql> select * from test order by year(birth) desc, no desc; +------+--------+---------------+--------+------+------------+ | no | name | tel | addr | sex | birth | +------+--------+---------------+--------+------+------------+ | 6 | À̺´È¯ | 02-891-xxxx | ÇϾȵ¿ | m | 1980-06-06 | | 5 | ÀÌÇö¿µ | 0342-718-xxxx | ºÐ´ç±¸ | m | 1971-05-05 | | 4 | °­Çà¸ð | 02-856-xxxx | °ü¾Ç±¸ | f | 1971-04-04| | 3 | ÀÓÁ¤³² | 02-420-xxxx | ¼ÛÆı¸ | f | 1971-03-03 | | 2 | ÀÌÁÖ»ó | 02-504-xxxx | °úõ½Ã | m | 1971-02-02 | | 1 | ³²»ó¿í | 333-4444 | µ¿ÀÛ±¸ | m | 1971-01-01 | +------+--------+---------------+--------+------+------------+ 20»ì ÀÌ»óÀÌ ¸î¸íÀΰ¡¸¦ ã´Â´Ù. where Àý ÀÌ¿ë mysql> select count(*) from test where age >=20; +----------+ | count(*) | +----------+ | 4 | +----------+ 1 row in set (0.00 sec) null °ª °Ë»öÇϱâ null ¹® ÀÌ¿ë mysql> select * from test where addr is not null; +------+--------+------+----------+--------+ | no | name | age | tel | addr | +------+--------+------+----------+--------+ | 1 | ³²»ó¿í | NULL | 333-4444 | µ¿ÀÛ±¸ | +------+--------+------+----------+--------+ 1 row in set (0.00 sec) null °ª °Ë»öÇϱâ null ¹® ÀÌ¿ë mysql> select * from test whereaddr is null; +------+--------+------+---------------+------+ | no | name | age | tel | addr | +------+--------+------+---------------+------+ | 2 | ÀÌÁÖ»ó | 29 | 02-504-xxxx | NULL | | 3 | ÀÓÁ¤³² | 29| 02-420-xxxx | NULL | | 4 | °­Çà¸ð | 29 | 02-856-xxxx | NULL | | 5 | ÀÌÇö¿µ | 29 | 0342-718-xxxx | NULL | | 6 | À̺´È¯ | 12| 02-891-xxxx | NULL | +------+--------+------+---------------+------+ 5 rows in set (0.01 sec) °Ë»ö Çϱâ like ÀÌ¿ë mysql> select * from test where name like '%ÀÌ%'; +------+--------+------+---------------+------+ | no | name | age | tel | addr | +------+--------+------+---------------+------+ | 2 | ÀÌÁÖ»ó | 29 | 02-504-xxxx | NULL | | 5 | ÀÌÇö¿µ | 29 | 0342-718-xxxx | NULL | | 6 | À̺´È¯ | 12 | 02-891-xxxx | NULL | +------+--------+------+---------------+------+ 3 rows in set (0.00 sec) ¹üÀ§ °Ë»ö µîÈ£, ºÎµîÈ£ ¸¦ ÀÌ¿ëÇؼ­ °Ë»ö mysql> select * from test where age>=10 and age <=20; +------+--------+------+-------------+------+ | no | name | age | tel | addr | +------+--------+------+-------------+------+ | 6 | À̺´È¯ | 12 | 02-891-xxxx | NULL | +------+--------+------+-------------+------+ 1 row in set (0.00 sec) in °Ë»ö in ¹®À» ÀÌ¿ëÇؼ­ °Ë»ö mysql> select * from test where addr in('µ¿ÀÛ±¸','°ü¾Ç±¸'); +------+--------+------+-------------+--------+ | no | name | age | tel | addr | +------+--------+------+-------------+--------+ | 4 | °­Çà¸ð | 29 | 02-856-xxxx | °ü¾Ç±¸ | | 1 | ³²»ó¿í | NULL | 333-4444 | µ¿ÀÛ±¸ | +------+--------+------+-------------+--------+ 2 rows in set (0.00 sec) not in °Ë»ö not in¹®À» ÀÌ¿ëÇؼ­ °Ë»ö mysql> select * from test where addr not in('µ¿ÀÛ±¸','°ü¾Ç±¸'); +------+--------+------+---------------+--------+ | no | name | age | tel | addr | +------+--------+------+---------------+--------+ | 2 | ÀÌÁÖ»ó | 29 |02-504-xxxx | °úõ½Ã | | 3 | ÀÓÁ¤³² | 29 | 02-420-xxxx | ¼ÛÆı¸ | | 5 | ÀÌÇö¿µ | 29 | 0342-718-xxxx | ºÐ´ç±¸ | | 6 | À̺´È¯ | 12 | 02-891-xxxx | ÇϾȵ¿ | +------+--------+------+---------------+--------+ 4 rows in set (0.00 sec) ġȯ °Ë»ö mysql> select * from cls_class as a, cls_member as b where b.g_code = 'h0001_3_2' and b.g_code=a.g_code; ³¯Â¥ °Ë»öÇϱâ where Àý ÀÌ¿ë mysql> SELECT COUNT(no) FROM brd_free WHERE date = '2000-02-17'; +-----------+ | COUNT(no) | +-----------+ | 1 | +-----------+ 1 row in set (0.03 sec) Å×ÀÌºí ³»¿ëÀ» È­ÀÏ·Î ¸¸µé±â ²À °æ·Î¸¦ ÁöÁ¤ÇؾßÇÔ mysql> select * from test into outfile '/root/test.txt'; °á°ú 2 ÀÌÁÖ»ó 02-504-xxxx °úõ½Ã m 1971-02-02 3 ÀÓÁ¤³² 02-420-xxxx ¼ÛÆı¸ f 1971-03-03 4 °­Çà¸ð 02-856-xxxx °ü¾Ç±¸ f 1971-04-04 5 ÀÌÇö¿µ 0342-718-xxxx ºÐ´ç±¸ m 1971-05-05 6 À̺´È¯ 02-891-xxxx ÇϾȵ¿ m 1980-06-06 1 ³²»ó¿í 333-4444 µ¿ÀÛ±¸ m 1971-01-01 Å×ÀÌºí ³»¿ëÀ» È­ÀÏ·Î ¸¸µé¶§ |·Î ±¸ºÐÇϱâ terminated ¹®À» ¾´´Ù. mysql> select * from test into outfile '/root/test.txt' fields terminated by '|'; °á°ú 2|ÀÌÁÖ»ó|02-504-xxxx|°úõ½Ã|m|1971-02-02 3|ÀÓÁ¤³²|02-420-xxxx|¼ÛÆı¸|f|1971-03-03 4|°­Çà¸ð|02-856-xxxx|°ü¾Ç±¸|f|1971-04-04 5|ÀÌÇö¿µ|0342-718-xxxx|ºÐ´ç±¸|m|1971-05-05 6|À̺´È¯|02-891-xxxx|ÇϾȵ¿|m|1980-06-06 1|³²»ó¿í|333-4444|µ¿ÀÛ±¸|m|1971-01-01 È­ÀÏÀ» ºÒ·¯¿À±â load ¸í·É¾î¸¦ ¾´´Ù. mysql> load data infile '/root/test.txt' replace into table test fields terminated by '|'; Query OK, 6 rows affected (0.02 sec) Records: 6 Deleted: 0 Skipped: 0 Warnings: 0 °á°ú mysql> select * from test; +------+--------+---------------+--------+------+------------+ | no | name | tel | addr | sex | birth | +------+--------+---------------+--------+------+------------+ | 2 |ÀÌÁÖ»ó | 02-504-xxxx | °úõ½Ã | m | 1971-02-02 | | 3 | ÀÓÁ¤³² | 02-420-xxxx | ¼ÛÆı¸ | f | 1971-03-03 | | 4 | °­Çà¸ð | 02-856-xxxx | °ü¾Ç±¸| f | 1971-04-04 | | 5 | ÀÌÇö¿µ | 0342-718-xxxx | ºÐ´ç±¸ | m | 1971-05-05 | | 6 | À̺´È¯ | 02-891-xxxx | ÇϾȵ¿ | m | 1980-06-06 | | 1 |³²»ó¿í | 333-4444 | µ¿ÀÛ±¸ | m | 1971-01-01 | +------+--------+---------------+--------+------+------------+ »çÄ¢¿¬»ê * SUM (Column_name) : ƯÁ¤ Ä÷³¿¡¼­ Á¶°Ç¿¡ ¸¸Á·ÇÏ´Â ¸ðµç¿­ÀÇ °ªÀ» ´Ù´õÇÔ * AVG (Column_name) : Æò±Õ°ª ÃßÃâ * MAX (Column_name) : ÃÖ´ë°ªÃßÃâ * MIN (Column_name) : ÃÖ¼Ò°ª ÃßÃâ * COUNT (Column_name): ¿­ÀǼö¸¦ ÃßÃâ sum ¹® »ç¿ëÇϱâ mysql> select sum(age) from test; +----------+ | sum(age) | +----------+ | 128 | +----------+ 1 row in set (0.00 sec) /±â »ç¿ëÇϱâ mysql> select no, age, (no+age), (no+age)/2 from test; +------+------+----------+------------+ | no | age | (no+age) | (no+age)/2 | +------+------+----------+------------+ | 2 | 29 | 31 | 15.50 | | 3 | 29 | 32 | 16.00| | 4 | 29 | 33 | 16.50 | |5 | 29 | 34 | 17.00 | | 6 | 12 | 18 | 9.00 | | 1 | NULL | NULL | NULL | +------+------+----------+------------+ 6 rows in set (0.00 sec) ³ªÀÌ °è»êÇϱâ yser ¹® »ç¿ëÇϱâ mysql> select *, year(curdate())-year(birth)+1 as age from test; +------+--------+---------------+--------+------+------------+------+ | no | name | tel | addr | sex | birth | age | +------+--------+---------------+--------+------+------------+------+ | 2 | ÀÌÁÖ»ó | 02-504-xxxx | °úõ½Ã | m | 1971-02-02 |29 | | 3 | ÀÓÁ¤³² | 02-420-xxxx | ¼ÛÆı¸ |f | 1971-03-03 | 29 | | 4 | °­Çà¸ð | 02-856-xxxx | °ü¾Ç±¸ | f | 1971-04-04 | 29 | | 5 |ÀÌÇö¿µ | 0342-718-xxxx | ºÐ´ç±¸ | m | 1971-05-05 | 29 | | 6 | À̺´È¯ | 02-891-xxxx | ÇϾȵ¿ | m | 1980-06-06 | 20 | | 1 | ³²»ó¿í | 333-4444 | µ¿ÀÛ±¸ | m | 1971-01-01 | 29 | +------+--------+---------------+--------+------+------------+------+ 6 rows in set (0.01 sec) À¯´Ð½º ½Ã°£ unix_timestamp¹®À» »ç¿ëÇÑ´Ù. mysql> select unix_timestamp(curdate()); +---------------------------+ | unix_timestamp(curdate()) | +---------------------------+ | 934210800 | +---------------------------+ 1 row in set (0.05 sec) ¿ø°Ý DB »ç¿ëÇϱâ A¶ó´Â ¼­¹ö¿¡ DB°¡ ÀÖ°í, 210.180.56.204¿¡¼­ ÇÁ·Î±×·¥À» µ¹¸±¶§ A¶ó´Â ¼­¿¡ÀÖ´Â mysql mysql ¿¡ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÀ» ÇÕ´Ï´Ù. INSERT INTO db VALUES ('210.180.56.204','dbname','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); INSERT INTO host VALUES ('210.180.56.204','dbname','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); INSERT INTO user VALUES ('210.180.56.204','user','passwd','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); 210.180.56.204 ÀÇ ÄÄ¿¡¼­ ÇÁ·Î±×·¥À» ÇÒ¶§ ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» ÇØÁÖ¸é ¿ø°Ý DB ¸¦ »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù. $db_server ="servername"; // DB ¼­¹ö ÁÖ¼Ò $db_user = "root"; // DB »ç¿ëÀÚ $db_name = ""; // DB À̸§ $db_pass = ""; // DB ¾ÏÈ£