快速业务通道

Linux应用集成MySQL数据库访问技巧

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
。 这绝没有使用两种语言MySQL API的所有特性,但提供了快速、简易扩展的示例,可以对数据库内容执行任何SQL命令。 在该例中,脚本显示了低于特定价格的所有产品。在实践中,用户可能在Web浏览器中输入该价格,然后将它发给服务器。 我们省去了从环境变量中进行读取来确定 HTML 表单值的细节,因为它与不支持数据库的 CGI 脚本中执行的情况没有什么差别。 为清晰起见,我们假设事先设置了特定一些参数(例如要查询的价格)。

  以下代码是使用免费获得的Tcl Generic Database Interface以Tcl实现的。这样一种接口的好处在于Tcl是解释型的,可以对代码进行迅速开发和快速修改。

  Tcl示例

  


#This code PRints out all products in the database
# that are below a specified price (assumed to have been determined
# beforehand, and stored in the variable targetPrice)
# The output is in HTML table format, appropriate for CGI output

#load the SQL shared object library. the Tcl interpreter could also
#have been compiled with the library, making this line unnecessary
load /home/aroetter/tcl-sql/sql.so

#these are well defined beforehand, or they could
#be passed into the script
set DBNAME "clientWebSite";
set TBLNAME "products";
set DBHOST "backend.company.com"
set DBUSER "mysqluser"
set DBPASSWD "abigsecret"

set targetPrice 200;

#connect to the database
set handle [sql connect $DBHOST $DBUSER $DBPASSWD]
sql selectdb $handle $DBNAME ;# get test database

#run a query using the specified sql code
sql query $handle "select * from $TBLNAME where price <= $targetPrice"


#print out html table header
puts "<table border=4>"
puts "<th>Product Id <th width=200>Description <th>Price (\$)"

#output table rows - each fetchrow retrieves one result
#from the sql query
while {[set row [sql fetchrow $handle]] != ""} {
    set prodid [lindex $row 0]
    set descrip [lindex $row 1]
    set price [lindex $row 2]
    puts "<tr>

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号