³¯Â¥: 1996-05-12 | ±Û¾´ÀÌ: µµ¾Æ | 6892 ¹ø | ÇÁ¸°Æ® | ¸ÞÀϷκ¸³»±â

Á¦ 12°­ - msqlperl - »ðÀÔ


À¥°ú DBÀÇ ¿¬µ¿Àº ´ëºÎºÐ ºñ½ÁÇÑ ÀýÂ÷(DB ¿£Áø Á¢¼Ó, DB ¼±ÅÃ, ÁúÀÇ, °á°úÃâ·Â)¸¦ °ÅÄ¡¸ç, ÁúÀǸ¦ ¼öÇàÇÏ´Â SQL ¹®¸¸ Â÷ÀÌ°¡ ³­´Ù.

»ç¿ëÀÚ°¡ µ¥ÀÌÅ͸¦ Á÷Á¢ÀÔ·ÂÇÏ´Â °Íµµ ´ëºÎºÐÀº °Ë»ö CGI¿Í À¯»çÇϸé Â÷ÀÌ°¡ ³ª´Â ºÎºÐÀº SQL¹®¿¡ ºÒ°úÇÏ´Ù. ÀÔ·ÂÆû(dbinsert.html)

»ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀÌ´Â Æû¹®¼­ÀÌ´Ù. Çѹø¿¡ 5¸íÀÇ »ç¿ëÀÚ¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºµÆ´Ù. ¼Ò½º

 1 : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
 2 : <HTML>
 3 : <HEAD>
 4 : <TITLE>ÇÐÀûºÎ °ü¸®</TITLE>
 5 : <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=EUC-KR">
 6 : </HEAD>
 7 : 
 8 : <BODY>
 9 : 
10 : <H2> µ¥ÀÌŸ »ðÀÔ </H2>
11 : <hr noshade size=4>
12 : 
13 : <div align=CENTER>
14 : <FORM ACTION="/~artech/cgi-bin/dbinsert.cgi" METHOD="post">
15 : <table border="1" cellpadding="0" cellspacing="2">
16 : <TR>
17 : 	<TH>ÇС¡¡¡¹ø</TH>
18 : 	<TH>ÀÌ¡¡¡¡¸§</TH>
19 : 	<TH>Àü¡¡¡¡È­</TH>
20 : 	<TH>°­Á¹øÈ£</TH>
21 : 	<TH>ÇС¡¡¡°ú</TH>
22 : </TR>
23 : <TR>
24 : 	<TD><INPUT TYPE="TEXT" NAME="sid1" SIZE="8" MAXLENGTH="8"></TD>
25 : 	<TD><INPUT TYPE="TEXT" NAME="sname1" SIZE="12" MAXLENGTH="12"></TD>
26 : 	<TD><INPUT TYPE="TEXT" NAME="phone1" SIZE="15" MAXLENGTH="15"></TD>
27 : 	<TD><INPUT TYPE="TEXT" NAME="lid1" SIZE="8" MAXLENGTH="8"></TD>
28 : 	<TD><INPUT TYPE="TEXT" NAME="class1" SIZE="20" MAXLENGTH="20"></TD>
29 : </TR>
30 : <TR>
31 : 	<TD><INPUT TYPE="TEXT" NAME="sid2" SIZE="8" MAXLENGTH="8"></TD>
32 : 	<TD><INPUT TYPE="TEXT" NAME="sname2" SIZE="12" MAXLENGTH="12"></TD>
33 : 	<TD><INPUT TYPE="TEXT" NAME="phone2" SIZE="15" MAXLENGTH="15"></TD>
34 : 	<TD><INPUT TYPE="TEXT" NAME="lid2" SIZE="8" MAXLENGTH="8"></TD>
35 : 	<TD><INPUT TYPE="TEXT" NAME="class2" SIZE="20" MAXLENGTH="20"></TD>
36 : </TR>
37 : <TR>
38 : 	<TD><INPUT TYPE="TEXT" NAME="sid3" SIZE="8" MAXLENGTH="8"></TD>
39 : 	<TD><INPUT TYPE="TEXT" NAME="sname3" SIZE="12" MAXLENGTH="12"></TD>
40 : 	<TD><INPUT TYPE="TEXT" NAME="phone3" SIZE="15" MAXLENGTH="15"></TD>
41 : 	<TD><INPUT TYPE="TEXT" NAME="lid3" SIZE="8" MAXLENGTH="8"></TD>
42 : 	<TD><INPUT TYPE="TEXT" NAME="class3" SIZE="20" MAXLENGTH="20"></TD>
43 : </TR>
44 : <TR>
45 : 	<TD><INPUT TYPE="TEXT" NAME="sid4" SIZE="8" MAXLENGTH="8"></TD>
46 : 	<TD><INPUT TYPE="TEXT" NAME="sname4" SIZE="12" MAXLENGTH="12"></TD>
47 : 	<TD><INPUT TYPE="TEXT" NAME="phone4" SIZE="15" MAXLENGTH="15"></TD>
48 : 	<TD><INPUT TYPE="TEXT" NAME="lid4" SIZE="8" MAXLENGTH="8"></TD>
49 : 	<TD><INPUT TYPE="TEXT" NAME="class4" SIZE="20" MAXLENGTH="20"></TD>
50 : </TR>
51 : <TR>
52 : 	<TD><INPUT TYPE="TEXT" NAME="sid5" SIZE="8" MAXLENGTH="8"></TD>
53 : 	<TD><INPUT TYPE="TEXT" NAME="sname5" SIZE="12" MAXLENGTH="12"></TD>
54 : 	<TD><INPUT TYPE="TEXT" NAME="phone5" SIZE="15" MAXLENGTH="15"></TD>
55 : 	<TD><INPUT TYPE="TEXT" NAME="lid5" SIZE="8" MAXLENGTH="8"></TD>
56 : 	<TD><INPUT TYPE="TEXT" NAME="class5" SIZE="20" MAXLENGTH="20"></TD>
57 : </TR>
58 : <TR align=center>
59 : 	<TD colspan=5>
60 : 	<INPUT TYPE="SUBMIT" VALUE="º¸³»±â">
61 : 	<INPUT TYPE="RESET" VALUE="Áö¿ì±â">
62 : 	</TD>
63 : </TR>
64 : </table>
65 : </FORM>
66 : </div>
67 : </BODY>
68 : </HTML>
°á°ú
»ðÀÔÈ­¸é
»ðÀÔ ÇÁ·Î±×·¥(dbinsert.cgi)

»ç¿ëÀÚÀÇ ÆûÀÔ·ÂÀ» ¹Þ¾Æ ½ÇÁ¦ Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ »ðÀÔÇÏ´Â CGIÀÌ´Ù. ¾ÕÀÇ °Ë»ö CGI¿Í °ÅÀÇ ºñ½ÁÇϸç, ¿©·¯ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» À§ÇØ ¼øȯ¹®À» »ç¿ëÇß´Ù. ¼Ò½º

 1 : #! /usr/local/bin/perl
 2 : require './cgi-lib.pl';
 3 : 
 4 : $database = 'mhlee';
 5 : $table = 'stable';
 6 : 
 7 : ReadParse(*FORM);
 8 : 
 9 : use Msql;
10 : 
11 : $dbh = Msql->connect;
12 : defined($dbh) || CgiDie('µ¥ÀÌŸº£À̽º¿¡ Á¢¼ÓÇÒ ¼ö ¾ø½À´Ï´Ù');
13 : 
14 : $dbh->selectdb($database);
15 : 
16 : for(1..5) {
17 : 	$sid = "sid$_";
18 : 	$sname = "sname$_";
19 : 	$phone = "phone$_";
20 : 	$lid = "lid$_";
21 : 	$class = "class$_";
22 : 
23 : 	next if($FORM{$sid} eq '' || $FORM{$sname} eq '' || $FORM{$lid} eq '' 
		|| $FORM{$class} eq '');
24 : 
25 : 	$insert =<<Query;
26 : insert into $table
27 : values('$FORM{$sid}','$FORM{$sname}', '$FORM{$phone}', $FORM{$lid},
	'$FORM{$class}')
28 : Query
29 : 
30 : 	$query =~ tr/[\n,\r]/[ , ]/;
31 : 
32 : 	$sth = $dbh->query($insert);
33 : 	unless(defined($sth)) {
34 : 		$msg = $dbh->errmsg;
35 :  		CgiDie("$msg", $FORM{'query'});
36 : 	}
37 : }
38 : 
39 : $query =<<Query;
40 : select _rowid, sid, sname, phone, lid, class from $table 
41 : Query
42 : 
43 : $query =~ tr/[\n,\r]/[ , ]/;
44 : 
45 : $sth = $dbh->query($query);
46 : 
47 : unless(defined($sth)) {
48 : 	$msg = $dbh->errmsg;
49 :  	CgiDie("$msg", $FORM{'query'});
50 : }
51 : 
52 : @fields = $sth->name;
53 : 
54 : print PrintHeader();
55 : print HtmlTop('ÁúÀÇ°á°ú');
56 : 
57 : print <<Table;
58 : <div align=center>
59 : <table border=1 celpadding=1>
60 : <tr>
61 : Table
62 : 
63 : for(0..$#fields) {
64 : 	print "<th> $fields[$_] </th>\n";
65 : }
66 : 
67 : print "</tr>\n";
68 : 
69 : while(@row = $sth->fetchrow) {
70 : 	print "<tr>\n";
71 : 	for(0..$#row) {
72 : 		$row[$_] = '&nbsp;' if($row[$_] eq '');
73 : 		print "<td> $row[$_] </td>\n";
74 : 	}
75 : 	print "</tr>\n";
76 : }
77 : 
78 : print "</table></div>\n";
79 : 
80 : print HtmlBot();
½ÇÇà°á°ú
»ðÀÔ°á°ú
¼³¸í
1~14
¾Õ¿¡¼­ ÀÛ¼ºÇÑ CGI¿Í °ÅÀÇ ¶È°°´Ù. ´Ù¸¸ µ¥ÀÌÅ͸¦ »ðÀÔ, »èÁ¦, ¼öÁ¤ÇϱâÀ§Çؼ­´Â µ¥ÀÌÅͺ£À̽ºÀÇ À̸§°ú Å×À̺íÀÇ À̸§À» ¾Ë°í ÀÖ¾î¾ß ÇϹǷΠÀÌ °ªÀ» CGI ÇÁ·Î±×·¥³»¿¡¼­ ÇÒ´çÇÏ´Â Â÷À̸¸ ÀÖ´Ù.

16~37
»ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Ýº¹ÀûÀ¸·Î ¼öÇàÇÏ´Â ¹®ÀåÀÌ´Ù. ÀÌ ¼øȯ¹®À» ÅëÇØ 5¹øÀÇ SQL(insert)¹®ÀÌ ¼öÇàµÈ´Ù. 23ÇàÀº Not Null ¼Ó¼ºÀÌ ºÎ¿©µÈ Çʵ尡 NullÀÎ °æ¿ì ¼øȯ¹®À» ´Ù½Ã ½ÃÀÛÇϵµ·Ï next¹®À» »ç¿ëÇÏ°í ÀÖ´Ù. 25~28ÇàÀº $insert¶ó´Â º¯¼ö¿¡ SQL¹®À» ÇÒ´çÇÏ´Â ¹®ÀåÀÌ´Ù. ½ÇÁ¦ ÁúÀÇ°¡ ¼öÇàµÇ´Â °ÍÀº ¾Æ´Ï¸ç ´ÜÁö SQL¹®¸¸ ÇÒ´çÇÏ°í ÀÖ´Ù. query ¸Þ¼Òµå¿¡ Á÷Á¢ÀÔ·ÂÇصµ µÇÁö¸¸ °¡µ¶¼ºÀ» À§ÇØ µû·Î ºÐ¸®ÇÑ °ÍÀÌ´Ù. 32Çà¿¡¼­ ½ÇÁ¦ ÁúÀÇ°¡ ¼öÇàµÇ¸ç, ¿À·ù°¡ ¹ß»ýÇÒ °æ¿ì 33~36ÇàÀÌ ¼öÇàµÈ´Ù.

39~41
$query¶ó´Â º¯¼ö¿¡ SQL¹®À» ÇÒ´çÇÏ´Â ¹®ÀåÀÌ´Ù. ÀϹÝÀûÀ¸·Î INSERT, UPDATE, DELETE¿Í °°Àº SQL¹®Àº Row µ¥ÀÌÅ͸¦ ¸®ÅÏÇÏÁö ¾ÊÀ¸¹Ç·Î ½ÇÁ¦ µ¥ÀÌÅÍ°¡ Á¦´ë·Î »ðÀԵƴÂÁö È®ÀÎÇϱâÀ§ÇÑ °Ë»ö ÁúÀǹ®ÀÌ´Ù.

45~80
°Ë»ö CGI¿Í ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù. 39~41¿¡¼­ ÇÒ´çÇÑ SQL¹®À» mSQL DB ¿£Áø¿¡ Àü¼ÛÇÏ°í ±× °á°ú¸¦ HTML Ç¥·Î º¯È¯ÇÏ´Â ºÎºÐÀÌ´Ù.


´ÙÀ½±Û: Á¦ 13°­ - msqlperl - ¼öÁ¤, »èÁ¦ (7526)1996-05-13
ÀÌÀü±Û: Á¦ 11°­ - msqlperl - °Ë»ö (7902)1996-05-11

¼¼»ó»ç´Â À̾߱â



RSS ±¸µ¶ (À͸í | ȸ¿ø | °­Á | Æ÷·³)
(C) 1996 ~ 2017 QAOS.com All rights reserved.