⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000000.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
exit(0)&nbsp;<BR>In&nbsp;Example&nbsp;10-2,&nbsp;tableshow.cgi&nbsp;accepts&nbsp;the&nbsp;name&nbsp;of&nbsp;a&nbsp;database&nbsp;server&nbsp;(default&nbsp;is&nbsp;&quot;localhost&quot;)&nbsp;and&nbsp;the&nbsp;name&nbsp;of&nbsp;a&nbsp;database&nbsp;on&nbsp;that&nbsp;server.&nbsp;The&nbsp;program&nbsp;then&nbsp;shows&nbsp;all&nbsp;of&nbsp;the&nbsp;available&nbsp;tables&nbsp;on&nbsp;that&nbsp;server.&nbsp;<BR>&nbsp;<BR>Example&nbsp;10-2:&nbsp;The&nbsp;CGI&nbsp;tableshow.cgi&nbsp;shows&nbsp;all&nbsp;of&nbsp;the&nbsp;tables&nbsp;within&nbsp;a&nbsp;database&nbsp;&nbsp;<BR>#!/usr/bin/perl&nbsp;-w&nbsp;<BR>&nbsp;&nbsp;<BR>use&nbsp;strict;&nbsp;<BR>use&nbsp;CGI&nbsp;qw(:standard);&nbsp;<BR>use&nbsp;CGI::Carp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Use&nbsp;the&nbsp;Msql.pm&nbsp;module&nbsp;<BR>use&nbsp;DBI;&nbsp;<BR>CGI::use_named_parameters(1);&nbsp;<BR>&nbsp;&nbsp;<BR>my&nbsp;($db);&nbsp;<BR>my&nbsp;$output&nbsp;=&nbsp;new&nbsp;CGI;&nbsp;<BR>$db&nbsp;=&nbsp;param('db')&nbsp;or&nbsp;die(&quot;Database&nbsp;not&nbsp;supplied!&quot;);&nbsp;<BR>&nbsp;&nbsp;<BR>#&nbsp;Connect&nbsp;to&nbsp;the&nbsp;requested&nbsp;server.&nbsp;<BR>my&nbsp;$dbh&nbsp;=&nbsp;DBI-&gt;connect(&quot;DBI:mysql:$db:$server&quot;,&nbsp;undef,&nbsp;undef);&nbsp;<BR>&nbsp;&nbsp;<BR>#&nbsp;If&nbsp;$dbh&nbsp;does&nbsp;not&nbsp;exist,&nbsp;the&nbsp;attempt&nbsp;to&nbsp;connect&nbsp;to&nbsp;the&nbsp;<BR>#&nbsp;database&nbsp;server&nbsp;failed.&nbsp;The&nbsp;server&nbsp;may&nbsp;not&nbsp;be&nbsp;running,&nbsp;<BR>#&nbsp;or&nbsp;the&nbsp;given&nbsp;database&nbsp;may&nbsp;not&nbsp;exist.&nbsp;<BR>if&nbsp;(not&nbsp;$dbh)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;header,&nbsp;start_html('title'=&gt;&quot;Information&nbsp;on&nbsp;$host&nbsp;=&gt;&nbsp;$db&quot;,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'BGCOLOR'=&gt;'white');&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&lt;&lt;END_OF_HTML;&nbsp;<BR>&lt;H1&gt;$host&lt;/h1&gt;&nbsp;<BR>&lt;H2&gt;$db&lt;/h2&gt;&nbsp;<BR>The&nbsp;connection&nbsp;attempt&nbsp;failed&nbsp;for&nbsp;the&nbsp;following&nbsp;reason:&lt;BR&gt;&nbsp;<BR>$DBI::errstr&nbsp;<BR>&lt;/body&gt;&lt;/html&gt;&nbsp;<BR>END_OF_HTML&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);&nbsp;<BR>}&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>print&nbsp;header,&nbsp;start_html('title'=&gt;&quot;Information&nbsp;on&nbsp;$host&nbsp;=&gt;&nbsp;$db&quot;,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'BGCOLOR'=&gt;'white');&nbsp;<BR>print&nbsp;&lt;&lt;END_OF_HTML;&nbsp;<BR>&lt;H1&gt;$host&lt;/h1&gt;&nbsp;<BR>&lt;H2&gt;$db&lt;/h2&gt;&nbsp;<BR>&lt;p&gt;&nbsp;<BR>Tables:&lt;br&gt;&nbsp;<BR>&lt;UL&gt;&nbsp;<BR>END_OF_HTML&nbsp;<BR>#&nbsp;$dbh-&gt;listtable&nbsp;returns&nbsp;an&nbsp;array&nbsp;of&nbsp;the&nbsp;tables&nbsp;that&nbsp;are&nbsp;available&nbsp;<BR>#&nbsp;in&nbsp;the&nbsp;current&nbsp;database.&nbsp;<BR>my&nbsp;@tables&nbsp;=&nbsp;$dbh-&gt;func(&nbsp;'_ListTables'&nbsp;);&nbsp;<BR>foreach&nbsp;(@tables)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;&lt;LI&gt;$_\n&quot;;&nbsp;<BR>}&nbsp;<BR>print&nbsp;&lt;&lt;END_OF_HTML;&nbsp;<BR>&lt;/ul&gt;&nbsp;<BR>&lt;/body&gt;&lt;/html&gt;&nbsp;<BR>END_OF_HTML&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);&nbsp;<BR>And,&nbsp;finally,&nbsp;Example&nbsp;10-3&nbsp;shows&nbsp;all&nbsp;of&nbsp;the&nbsp;information&nbsp;about&nbsp;a&nbsp;specific&nbsp;table.&nbsp;<BR>&nbsp;<BR>Example&nbsp;10-3:&nbsp;The&nbsp;CGI&nbsp;tabledump.cgi&nbsp;shows&nbsp;information&nbsp;about&nbsp;a&nbsp;specific&nbsp;table&nbsp;&nbsp;<BR>#!/usr/bin/perl&nbsp;-w&nbsp;<BR>&nbsp;&nbsp;<BR>use&nbsp;strict;&nbsp;<BR>use&nbsp;CGI&nbsp;qw(:standard);&nbsp;<BR>use&nbsp;CGI::Carp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Use&nbsp;the&nbsp;DBI&nbsp;module&nbsp;<BR>use&nbsp;DBI;&nbsp;<BR>CGI::use_named_parameters(1);&nbsp;<BR>&nbsp;&nbsp;<BR>my&nbsp;($db,$table);&nbsp;<BR>my&nbsp;$output&nbsp;=&nbsp;new&nbsp;CGI;&nbsp;<BR>$server&nbsp;=&nbsp;param('server')&nbsp;or&nbsp;$server&nbsp;=&nbsp;'';&nbsp;<BR>$db&nbsp;=&nbsp;param('db')&nbsp;or&nbsp;die(&quot;Database&nbsp;not&nbsp;supplied!&quot;);&nbsp;<BR>&nbsp;&nbsp;<BR>#&nbsp;Connect&nbsp;to&nbsp;the&nbsp;requested&nbsp;server.&nbsp;<BR>my&nbsp;$dbh&nbsp;=&nbsp;DBI-&gt;connect(&quot;DBI:mysql:$db:$server&quot;,&nbsp;undef,&nbsp;undef);&nbsp;<BR>&nbsp;&nbsp;<BR>#&nbsp;We&nbsp;now&nbsp;prepare&nbsp;a&nbsp;query&nbsp;for&nbsp;the&nbsp;server&nbsp;asking&nbsp;for&nbsp;all&nbsp;of&nbsp;the&nbsp;data&nbsp;in&nbsp;<BR>#&nbsp;the&nbsp;table.&nbsp;<BR>my&nbsp;$table_data&nbsp;=&nbsp;$dbh-&gt;prepare(&quot;select&nbsp;*&nbsp;from&nbsp;$table&quot;);&nbsp;<BR>#&nbsp;Now&nbsp;send&nbsp;the&nbsp;query&nbsp;to&nbsp;the&nbsp;server.&nbsp;<BR>$table_data-&gt;execute;&nbsp;<BR>&nbsp;&nbsp;<BR>#&nbsp;If&nbsp;the&nbsp;return&nbsp;value&nbsp;is&nbsp;undefined,&nbsp;the&nbsp;table&nbsp;must&nbsp;not&nbsp;exist.&nbsp;(Or&nbsp;it&nbsp;could&nbsp;<BR>#&nbsp;be&nbsp;empty;&nbsp;we&nbsp;don't&nbsp;check&nbsp;for&nbsp;that.)&nbsp;<BR>if&nbsp;(not&nbsp;$table_data)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;header,&nbsp;start_html('title'=&gt;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Information&nbsp;on&nbsp;$host&nbsp;=&gt;&nbsp;$db&nbsp;=&gt;&nbsp;$table&quot;,&nbsp;'BGCOLOR'=&gt;'white');&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&lt;&lt;END_OF_HTML;&nbsp;<BR>&lt;H1&gt;$host&lt;/h1&gt;&nbsp;<BR>&lt;H2&gt;$db&lt;/h2&gt;&nbsp;<BR>The&nbsp;table&nbsp;'$table'&nbsp;does&nbsp;not&nbsp;exist&nbsp;in&nbsp;$db&nbsp;on&nbsp;$host.&nbsp;<BR>&lt;/body&gt;&lt;/html&gt;&nbsp;<BR>END_OF_HTML&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);&nbsp;<BR>}&nbsp;<BR>&nbsp;&nbsp;<BR>#&nbsp;At&nbsp;this&nbsp;point,&nbsp;we&nbsp;know&nbsp;we&nbsp;have&nbsp;data&nbsp;to&nbsp;display.&nbsp;First&nbsp;we&nbsp;show&nbsp;the&nbsp;<BR>#&nbsp;layout&nbsp;of&nbsp;the&nbsp;table.&nbsp;<BR>print&nbsp;header,&nbsp;start_html('title'=&gt;&quot;Information&nbsp;on&nbsp;$host&nbsp;=&gt;&nbsp;$db&nbsp;=&gt;&nbsp;$table&quot;,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'BGCOLOR'=&gt;'white');&nbsp;<BR>print&nbsp;&lt;&lt;END_OF_HTML;&nbsp;<BR>&lt;H1&gt;$host&lt;/h1&gt;&nbsp;<BR>&lt;H2&gt;$db&lt;/h2&gt;&nbsp;<BR>&lt;H3&gt;$table&lt;/h3&gt;&nbsp;<BR>&lt;p&gt;&nbsp;<BR>&lt;TABLE&nbsp;BORDER&gt;&nbsp;<BR>&lt;CAPTION&gt;Fields&lt;/caption&gt;&nbsp;<BR>&lt;TR&gt;&nbsp;<BR>&nbsp;&lt;TH&gt;Field&lt;TH&gt;Type&lt;TH&gt;Size&lt;TH&gt;NOT&nbsp;NULL&nbsp;<BR>&lt;/tr&gt;&nbsp;<BR>&lt;UL&gt;&nbsp;<BR>END_OF_HTML&nbsp;<BR>&nbsp;&nbsp;<BR>#&nbsp;$table_data-&gt;name&nbsp;returns&nbsp;a&nbsp;referece&nbsp;to&nbsp;an&nbsp;array&nbsp;&nbsp;<BR>#&nbsp;of&nbsp;the&nbsp;fields&nbsp;of&nbsp;the&nbsp;database.&nbsp;<BR>my&nbsp;@fields&nbsp;=&nbsp;@{$table_data-&gt;NAME};&nbsp;<BR>#&nbsp;$table_data-&gt;type&nbsp;return&nbsp;an&nbsp;array&nbsp;reference&nbsp;of&nbsp;the&nbsp;types&nbsp;of&nbsp;fields.&nbsp;<BR>#&nbsp;The&nbsp;types&nbsp;returned&nbsp;here&nbsp;are&nbsp;in&nbsp;SQL&nbsp;standard&nbsp;notation,&nbsp;not&nbsp;MySQL&nbsp;specific.&nbsp;<BR>my&nbsp;@types&nbsp;=&nbsp;@{$table_data-&gt;TYPE};&nbsp;<BR>#&nbsp;$table_data-&gt;is_not_null&nbsp;returns&nbsp;a&nbsp;Boolean&nbsp;array&nbsp;ref&nbsp;indicating&nbsp;which&nbsp;fields&nbsp;<BR>#&nbsp;have&nbsp;the&nbsp;'NOT&nbsp;NULL'&nbsp;flag.&nbsp;<BR>my&nbsp;@not_null&nbsp;=&nbsp;@{$table_data-&gt;is_not_null};&nbsp;<BR>#&nbsp;$table_data-&gt;length&nbsp;return&nbsp;an&nbsp;array&nbsp;ref&nbsp;of&nbsp;the&nbsp;lengths&nbsp;of&nbsp;the&nbsp;fields.&nbsp;This&nbsp;is&nbsp;<BR>#&nbsp;fixed&nbsp;for&nbsp;INT&nbsp;and&nbsp;REAL&nbsp;types,&nbsp;but&nbsp;variable&nbsp;(defined&nbsp;when&nbsp;the&nbsp;table&nbsp;was&nbsp;<BR>#&nbsp;created)&nbsp;for&nbsp;CHAR.&nbsp;<BR>my&nbsp;@length&nbsp;=&nbsp;@{$table_data-&gt;length};&nbsp;<BR>&nbsp;&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -