不管是何种语言编写的web应用,有一点是相同的:它们都具有交互性并且多半是数据库驱动的。在互联网中,数据库驱动的Web应用非常普遍。它们通常都包含一个后台数据库和很多的Web页面。这些页面中包含了使用某种编程语言编写的服务器端脚本,问这些脚本则能够根据Web页面与用户的交互从数据库中提取特定的信息。
电子商务是数据库驱动的Web应用最常见的形式之一。
数据库驱动的Web应用通常包含三层:
表示层(Web浏览器或呈现引擎)
逻辑层(如C#、PHP、JSP等编程语言)
存储层(mysql、oracle等数据库)
web浏览器(标志层)向中间层(逻辑层)发送请求,中间层通过查询、更新数据库(存储层)来响应该请求
下面来看一个在线零售商店的例子。该在线商店提供了一个搜索表单,顾客可以按特定的兴趣对商品进行过滤,分类。另外还提供了进一步对商品筛选的选项。
可以使用下列的URL查看商店中所有价格低于$100的商品:
http://www.victim.com/products.php?val=100
下列的PHP脚本说明了如何将用户输入的(val)传递给动态创建的SQL语句。当请求上述的URL时,将会执行下列的PHP代码段:
// 连接到数据库
$conn = mysql_connect("localhoat","username","password");
//使用输入动态创建SQL语句
$query = "select * from products wheren price < '$_GET["val"]]'" .
"order by productdescription";
//对数据库执行查询
$result = mysql_query($query);
//迭代返回的记录集
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
//将结果显示在浏览器中
echo "Description:{$row['ProductDescription']} <br>";
"Product ID:{$row['ProductID']} <br>";
"Price:{$row['Price']} <br><br>";
}
//注:mysql_fetch_array是将结果取出一行作为数字数组或者关联数组
// 数字数组:$row[0],$row[1]
// 关联数组:$row["name"],$row["age"]
接下来的代码示例更清晰的说明了PHP脚本构造并执行的SQL语句。该语句返回数据库中所有价格低于$100的商品,之后在Web浏览器上显示并呈现这些商品以方便顾客在预算范围内继续购物。
一般来说,所有可交互的数据库驱动的web应用均以相同的(至少是类似的)方式运行:
select *
from Products
where price < '100.00'
order by ProductDescription;
来源:https://blog.csdn.net/weixin_43801718/article/details/102732155