PHP学习笔记<2>_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > PHP学习笔记<2>

PHP学习笔记<2>

 2010/12/15 8:01:59  蛋呢823  http://danne823.javaeye.com  我要评论(0)
  • 摘要:PHP的数据库操作.(MySQL)先看看我们在jsp中怎么连接数据库的?其实我们都是在servlet中才连接数据库的,也就是在jsp中动态显示数据,而在servlet中后台处理数据,即数据库的操作是放在servlet中的.这样可达到数据与页面分离的效果,更易于维护修改,也是MVC模式的一大好处吧.举个最简单的例子,大家都写过的登陆页面:【一】jsp+servlet的方法:login.html登陆页面<h1>用户登录</h1><
  • 标签:笔记 PHP 学习 学习笔记

PHP的数据库操作.( MySQL)

先看看我们在jsp中怎么连接数据库的?

其实我们都是在servlet中才连接数据库的, 也就是在jsp中动态显示数据, 而在servlet中后台处理数据, 即数据库的操作是放在servlet中的. 这样可达到数据与页面分离的效果, 更易于维护修改, 也是MVC模式的一大好处吧.

举个最简单的例子, 大家都写过的登陆页面:

【一】jsp + servlet 的方法:

login.html 登陆页面

?

<h1>用户登录</h1>
<form action="checkLogin" method="POST">
用户名:<input type= "text" name= "username"/><br>
密 码 :<input type="password" name="userpwd"/><br>
<input type="submit" value="登录"/>
</form>
?

?

我们写了个login.html 得到用户输入的用户名和密码, 然后我们需要一个checkLoginservlet 来验证用户, 此时servlet 就要到数据库中通过用户名和密码查询是否有该用户, 判断之后再进行页面转发.

?

CheckLogin.java (这是一个servlet. 这里只列出了其中的数据处理部分)

?

// 得到输入的 用户名 和密码
String username = request.getParameter("username");
String userpwd = request.getParameter("userpwd");
Userinfo user = UserDao.checkUserLogin(username, userpwd);
if (user != null) { // 如果用户验证成功~~转发到 loginOK.jsp 页面 显示
	request.getRequestDispatcher("loginOK.jsp").forward(request,
						response);
} else { //如果登录失败
request.getRequestDispatcher("loginFaile.jsp").forward(request, response);
}
?

?

?? ? ??在这里面有个checkUserLogin的方法, 在是User DAO类中的一个方法. 我们在UserDAO, 连接数据库, 执行sql查询, 返回User对象.

然后在配置文件中,添加servlet的配置

?

  <servlet>
    <servlet-name>check</servlet-name>
    <servlet-class>servlet.checkLogin</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>check</servlet-name>
    <url-pattern>/checkLogin</url-pattern>
  </servlet-mapping>
?

?

基本的流程是这样的:?




?【二】php 的方法:

再来看看PHP连接MySQL, php中直接访问数据库是相当简便的.

jsp, 我们把数据发给后台servlet处理, php虽然也是发给后台处理, 只不过后台也是php ---- 没有htmlphp 代码.

这个是大概的流程:

?

?

?

?

?

?

?

?

?

?

?

login.html 页面就一样了, 只是有个地方要小改, <form>里面action="checkLogin" 要改成action="checkLogin.php"

?

checkLogin.php

?

<?php
//得到数据库连接
require_once('conn.php');
//得到post中传来的参数
$username = $_POST['username'];
$password = $_POST['userpwd'];
$sql = "select * from userinfo where username = '" .$username. "' and userpwd = '" .$password. "'";
echo $sql;
$rs = mysql_query($sql) or die ('查询出错了..');   //执行sql语句, 

while($row = mysql_fetch_array($rs)){
  echo "<br />";
  echo '登陆成功';
  echo '用户名:'.$row['username'] . "   密码: " . $row['userpwd'];
  }
mysql_close($conn);
?>
?

?

?? ? ?其中conn.php 是负责数据库连接的页面, 这相当于jsp的页面重用技术,减少代码了的同时,又方便维护。

?

conn.php

?

<?php 
//用来处理连接到数据库的php
#获得数据库连接
$conn = mysql_connect('localhost','root','netjava');
if(!$conn){
	die('数据库连接失败!'); #退出.
}
#选择要使用的数据库
$t = mysql_select_db('myblog',$conn);
if(!$t){
	die('没有这个数据库!');
}
?>
?

?

?

?

?

到现在已经很清楚了。。

这样理解不知道妥不妥 php = jsp + servlet

暂时这样理解吧。

?

发表评论
用户名: 匿名