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 得到用户输入的用户名和密码, 然后我们需要一个checkLogin的servlet 来验证用户, 此时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类中的一个方法. 我们在User的DAO中, 连接数据库, 执行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 ---- 没有html的php 代码.
这个是大概的流程:
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;
暂时这样理解吧。
- 大小: 11.4 KB
- 大小: 15.1 KB
分享到:
相关推荐
[目录]Java学习笔记(推荐) <br> 6. [目录]JDBC文档 <br> 7. [目录]RMI 文档 <br> 2. [目录]Java资源(文档-书籍-下载-注册码) <br> 1. [目录]License 和注册码 <br> 2. [目录]好书推荐 <br> 3. [目录]关于Java的...
写得蛮好的linux学习笔记<br><br><br>转http://blog.chinaunix.net/u/30619/showart.php?id=249558<br>
PHP个人学习笔记
PHP学习笔记、PHP实例
php100学习笔记php100学习笔记php100学习笔记
php框架学习笔记
PHP学习笔记.
php学习笔记php学习笔记php学习笔记php学习笔记php学习笔记php学习笔记
当年我学PHP时整理的学习笔记,今天整理硬盘突然找到了,所以拿出来分享给那些没有任何PHP基础的朋友们.
一个自己学习总结的php类学习笔记,如果有正在学习PHP 的,可以看看。
Php学习笔记.docPhp学习笔记.docPhp学习笔记.doc
php学习总结笔记 很好的概括了php的细节问点
echo ‘<pre>’; function var_array($array) { echo ‘<pre>’; var_dump($array); echo ‘</pre>’; } function printr($array) { echo ‘<pre>’; print_r($array); echo ‘</pre>’; } function getArr($sNum, ...
php的学习笔记,环境配置、开发基础、问题解决
php学习笔记、PHP实例方便大家学习探讨!希望大家支持,理解!
PHP学习笔记1
请求数据 我们可以使用 GET、POST 两种方式向后端请求... <a>stephen</a> <span>age : </span> <span id=sex></span> </div> 我们希望点击 a 标签后,在不刷新页面的前提下获取年龄信息。首先用 GET 方式请求数据:
php学习笔记.docx
PHP100学习笔记
学习笔记php二次开发学习笔记 php二次开发学习笔记 php二次开发学习笔记