开发包:appserv-win32-2.5.10
服务器:Apache2.2
数据库:PHPMyAdmin
语言:PHP5,java
平台:windows 10
java驱动:MysqL-connector-java-5.1.37
编写一个PHP脚本语言,连接到PHPMyAdmin数据库的test库
编写一个java web服务端,连接到PHPMyAdmin数据库的test库
代码
PHP连接方式
test.PHP测试
PHP;">
运行截图 :
java 连接方式
1.新建一个java project为MysqLTest
2.加载JDBC驱动,MysqL-connector-java-5.1.37
MysqLConnection.java
MysqLtest;
import java.
sql.Connection;
import java.
sql.DriverManager;
import java.
sql.
sqlException;
/*
* **
MysqL连接**
*
* 参数:
* conn 连接
* url
MysqL数据库连接地址
* user
数据库登陆账号
* password
数据库登陆密码
*
方法:
* conn
获取连接
*/
public class
MysqLConnection {
public static Connection conn = null;
public static String driver = "com.
MysqL.jdbc.Driver";
public static String url = "jdbc:
MysqL://127.0.0.1:3306/post";
public static String user = "root";
public static String password = "123";
/*
* 创建
MysqL数据连接 第一步:加载驱动 Class.forName(Driver) 第二步:创建连接
* DriverManager.getConnection(url,user,password);
*/
public Connection conn() {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
System.out.println("驱动加载
错误");
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(url,password);
} catch (
sqlException e) {
System.out.println("
数据库链接错误");
e.printStackTrace();
}
return conn;
}
}
Work.java
MysqLtest;
import java.
sql.Connection;
import java.
sql.PreparedStatement;
import java.
sql.ResultSet;
import java.
sql.
sqlException;
/*
*
MysqL增删改查
*/
public class Work {
/*
* insert
增加
*/
public static int insert() {
MysqLConnection connection = new
MysqLConnection();
Connection conns; //
获取连接
PreparedStatement pst; // 执行
sql语句
int i = 0;
String
sql = "insert into user (username,password) values(?,?)";
try {
conns = connection.conn();
pst = conns.prepareStatement(
sql);
pst.setString(1,"lizi");
pst.setString(2,"123");
i = pst.executeUpdate();
pst.close();
conns.close();
} catch (
sqlException e) {
System.out.println("数据写入失败");
e.printStackTrace();
}
return i;
}
/*
* select 写入
*/
public static void select() {
MysqLConnection connection = new
MysqLConnection();
Connection conns; //
获取连接
PreparedStatement pst; // 执行
sql语句(Statement)
ResultSet rs; //
获取返回结果
String
sql = "select * from user";
try {
conns = connection.conn();
pst = conns.prepareStatement(
sql);
rs = pst.executeQuery(
sql);// 执行
sql语句
System.out.println("---------------------------------------");
System.out.println("名字 | 密码");
while (rs.next()) {
System.out.println(rs.getString("username") + " | " + rs.getString("password"));
}
System.out.println("---------------------------------------");
conns.close();
pst.close();
rs.close();
} catch (
sqlException e) {
System.out.println("数据
查询失败");
e.printStackTrace();
}
}
/*
* update
修改
*/
public static int update() {
MysqLConnection connection = new
MysqLConnection();
Connection conns; //
获取连接
PreparedStatement pst; // 执行
sql语句(Statement)
int i = 0;
String
sql = "update user set password = ? where username = ?";
try {
conns = connection.conn();
pst = conns.prepareStatement(
sql);
pst.setString(1,"123");
pst.setString(2,"lizi");
i = pst.executeUpdate();
pst.close();
conns.close();
} catch (
sqlException e) {
System.out.println("数据
修改失败");
e.printStackTrace();
}
return i;
}
/*
* delete
删除
*/
public static int delete() {
MysqLConnection connection = new
MysqLConnection();
Connection conns; //
获取连接
PreparedStatement pst; // 执行
sql语句(Statement)
int i = 0;
String
sql = "delete from user where username = ?";
try {
conns = connection.conn();
pst = conns.prepareStatement(
sql);
pst.setString(1,"lizi");
i = pst.executeUpdate();
pst.close();
conns.close();
} catch (
sqlException e) {
System.out.println("数据
删除失败");
e.printStackTrace();
}
return i;
}
/*
* test
*/
public static void main(String[] args) {
// System.out.println(insert());
select();
// System.out.println(update());
// System.out.println(delete());
}
}
test截图
ps:PHP操作MysqL数据库中语句
我们常常用conn.PHP文件来建立与数据库的链接,然后在所需的文件中利用include 进行调用。这样有效防止对数据库属性的改动 而引起其他有关文件对数据调用的错误。
现在来看一个conn.PHP文件,代码如下:
PHP;">
学习积累,收集了PHP操作MysqL的几个基础函数:
.使用MysqL_connect()函数连接MysqL服务器:MysqL_connect("hostname","username","password");
如,$link = MysqL_connect("localhost","") or die("不能连接到数据库服务器!可能是数据库服务器没有启动,或者用户名密码有误!".MysqL_error());
.使用MysqL_select_db()函数选择数据库文件:MysqL_query("use 数据库名",$link);
如,$db_selected=MysqL_query("use example",$link);
.使用MysqL_query()函数执行sql语句:MysqL_query(string query(sql语句),$link);
如:
添加会员:$result=MysqL_query("insert into tb_member values('a','')",$link);
修改会员:$result=MysqL_query("update tb_member setuser='b',pwd=''where user='a'",$link);
删除会员:$result=MysqL_query("delecte from tb_member where user='b'",$link);
查询会员:$sql=MysqL_query("select * from tb_book");
模糊查询:$sql=MysqL_query("select * from tb_book where bookname like '%".trim($txt_book)."%'");
//通用符%表示零个或任意多个字符。
显示表结构:$result=MysqL_query("DESC tb_member");
.使用MysqL_fetch_array()函数从数组结果集中获得信息:
语法结构:array MysqL_fetch_array(resource result[,int result_type])
参数result资源类型的参数,整形型参数,要传入的是由MysqL_fetch_array()函数返回的数据指针;
参数result_type:可选项,PHP操作MysqL数据库语句基础整数型参数,要传入的是MysqL_ASSOC(关联索引)、MysqL_NUM(数字索引) MysqL_BOTH(包括前两者,默认值)
如:
sql;">
<>$
sql=
MysqL_query("select * from tb_book");
$info=
MysqL_fetch_object($
sql);
<>$
sql=
MysqL_query("select * from tb_book where bookname like '%".trim($txt_book)."%'");
$info=
MysqL_fetch_object($
sql);
.使用MysqL_fetch_object()函数从结果集中获取一行作为对象:
语法结构:object MysqL_fetch_object(resource result);
如:
sql;">
<>$
sql=
MysqL_query("select * from tb_book");
$info=
MysqL_fetch_object($
sql);
<>$
sql=
MysqL_query("select * from tb_book where bookname like '%".trim($txt_book)."%'");
$info=
MysqL_fetch_object($
sql);
MysqL_fetch_object()函数与MysqL_fetch_array()函数类似,只有一点区别,即返回一个对象而不是数组,该函数只能通过字段名来访问数组。访问结果集中行的元素的语法结构:$row->col_name(列名)
.使用MysqL_fetch_row()函数逐行获得结果集中的每条记录:
语法结构:array MysqL_fetch_row(resource result)
如:
sql;">
<>$
sql=
MysqL_query("select * from tb_book");
$row=
MysqL_fetch_row($
sql);
<>$
sql=
MysqL_query("select * from tb_book where bookname like '%".trim($txt_book)."%'");
$row=
MysqL_fetch_row($
sql);
.使用MysqL_num_rows()函数获取结果集中地记录数:
语法结构:int MysqL_num_rows(resource result)
如:
PHP;">
$
sql=
MysqL_query("select * from tb_book");
......
注:若要获得insert、update、delete语句的所影响到的数据,则必须使用MysqL_affected_rows()函数来实现。
.MysqL_query("set names gb");//设置MysqL的编码格式为 gb类型,以屏蔽乱码。
.关闭记录集:MysqL_free_result($sql);
.关闭MysqL数据库服务器:MysqL_close($conn);