一般配合php使用
在简阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站制作 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站建设,成都全网营销,外贸网站建设,简阳网站建设费用合理。
用php链接数据库,把数据取出显示在网页里
你可以先下载一个SQL软件,然后在数据可里输入你想要在页面上显示的数据,然后再用一个数据库连接语句建立数据库与网页之间的联系就能够在网页上显示你想要的数据了!!
第一步:创建一个查询过程,因为在登录时要根据用户名查询用户密码
此步要用到pl/sql编程知识,代码如下:
create or replace procedure sel_user(uname in varchar2,pass out varchar2) is
begin
select users.password into pass from users where users.username=uname and rownum = 1;
end;
第二步:编写登录页面(login.java)(采用纯java+servlet编写)
//login.java如下
package cn.hnu;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class testhtml extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=gbk");
try {
PrintWriter pw = resp.getWriter();
pw.println("html");
pw.println("head");
pw.println("title");
pw.println("用户登录");
pw.println("/title");
pw.println("/head");
pw.println("body");
pw.println("h1用户登录/h1");
pw.println("hr");
pw.println("form method=post action=loginCl");
pw.println("用户名:input type=text name=userNamebr");
pw.println("密nbspnbsp码:input type=password name=passwordbr");
pw.println("input type=submit value=登录");
pw.println("input type=reset value=重置");
pw.println("/form");
pw.println("/body");
pw.println("/html");
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}
}
第三步:编程成功登录页面(wel.java) //wel.java如下,它主要用于用户正常登录后显示信息给用户
package cn.hnu;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Wel extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
//防止用户非法登录
HttpSession hs = req.getSession();
String s = (String)hs.getAttribute("pass");
if(s == null){
resp.sendRedirect("login");
}
PrintWriter pw = resp.getWriter();
pw.write("welcome,hello");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}
}
第四步:编写login处理页面(loginCl.java)
package cn.hnu;
import java.io.IOException;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class loginCl extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
String u = req.getParameter("userName");
String p = req.getParameter("password");
//查询数据库
String pa=null;
Connection ct = null;
CallableStatement cs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
ct = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oracle",
"scott", "tiger");
cs = ct.prepareCall("{call sel_user(?,?)}");
cs.setString(1, u);
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
cs.execute();
pa = cs.getString(2);
System.out.println("u=" + u + " p=" + pa);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (cs != null) {
cs.close();
}
if (ct != null) {
ct.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//验证用户信息是否合法
if (p.equals(pa)) {
HttpSession hs = req.getSession(true);//防止用户非法登录
hs.setAttribute("pass", "OK");
resp.sendRedirect("wel");
} else {
resp.sendRedirect("login");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}
}
亲,sql可以换成MySQL
这个没关系的,别的都可以照搬来用
需要到Eclipse来实现。
1、首先我们使用数据库连接工具HeiDiSQL来连接本机的mysql数据库,
2、使用该工具创建一个test数据库,
3、在该数据库中创建一张student表,该表中有id、name和age字段,我们同时给数据库添加数据,如下图所示。
4、我们创建一个Student类,并为该类分别创建id、name和age属性,并用private修饰符进行限定。接下来我们为这些属性创建getter和setter方法,如下图所示。
5、我们创建一个数据库连接类,用于配置数据库连接的属性,如数据库的驱动、URL、用户名和密码。
6、我们创建完数据库的连接后,使用getConnection()方法获取连接,
7、使用close()方法关闭连接。我们在使用mysql时需要添加smysql驱动的jar包。
8、接下来我们创建MVC模式中的数据持久化层,首先我们创建一个TestDao接口,用于定义获取数据的方法。
9、接下来我们创建TestDaoImpl实现类,并且实现TestDao接口,重写该接口中的方法,如下图所示。
10、我们将数据以集合的形式返回,此时需要创建TestSverlet类进行业务逻辑处理。我们首先创建一个构造方法,并在构造方法中获取数据库的连接。
11、我们创建的TestServlet类继承了HttpServlet类,并重写了父类的doGet()方法,我们在该方法中创建TestDaoImpl的对象,并调用getAllStudent()方法进行数据的查询,并将查询的结果放入到request的属性中,同时使用RequestDispatcher将请求转发到student.jsp。
12、我们创建一个student.jsp的文件,在该文件中使用EL表达式和JSTL标签来获取request范围的属性数据,即上一步骤的查询结果。
13、最后我们需要在web.xml文件中配置该Servlet的请求路径等信息,如下图所示。
14、以上步骤完成后我们使用Tomcat启动该项目,按照请求路径访问便可在页面表格中获取到数据库的查询结果。
首先搭建一个PHP环境,我用的wamp
然后比如你的数据库位置是本地localhost
数据库用户名是root
数据库密码是123456
数据库名是mydb
数据库里有个表mytab
有3个字段
id(主键) name sno
1 张三 123
2 李四 456
然后在项目根目录,新建一个文件:index.php
?php
//连接数据库
$con=mysqli_connect("localhost","root","123456","mydb");
//SQL语句
$sql="select * from mytab;";
//执行SQL语句,结果保存到$arr
$obj=mysqli_query($con,$sql);
$arr=mysqli_num_rows($result);
?
html
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
title实现最简单的php网页+mysql查询功能/title
/head
body
?php
echo "pre";
print_r($obj);
?
/body
/html
之后就能够看到结果了
连接方法如下:
1.建立一个web项目
2.把数据库驱动复制到lib目录下。数据库驱动有:mysql,sqlserver,oracle等 是什么样类型的数据导入相应驱动。
3.编写一个连接数据库的工具类,获取一个连接。下面以mysql数据库为例。
核心代码:
public class DataUtils {
/**
* 从数据中获取一个连接
* @return
*/
public static Connection getConn(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
//表为test,用户名root,密码admin。
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "admin");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
4.获取到与相应数据库的连接后,就可以做增删改查操作了。记得做完操作后,关闭连接,释放资源。