PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库


Posted in PHP onNovember 25, 2015

环境

开发包: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连接方式

mysql.php

<?php
/*****************************
*数据库连接
*****************************/
$conn = @mysql_connect("localhost","root","123");
if (!$conn){
  die("连接数据库失败:" . mysql_error());
}
mysql_select_db("test", $conn);
//字符转换,读库
mysql_query("set character set utf8");
mysql_query("set names utf8");
?>

test.php测试

<?php 
  error_reporting(0);     //防止报错
  include('mysql.php');
  $result=mysql_query("select * from user"); //根据前面的计算出开始的记录和记录数
  // 循环取出记录
  $six;
  while($row=mysql_fetch_row($result))
  {  
  echo $row[0];
  echo $row[1];
  }
?>

 运行截图 :

PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库

java 连接方式

1.新建一个java project为mysqlTest

2.加载JDBC驱动,mysql-connector-java-5.1.37

PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库

MySQLConnection.java

package com.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, user, password);
    } catch (SQLException e) {
      System.out.println("数据库链接错误");
      e.printStackTrace();
    }
    return conn;
  }
}

Work.java

package com.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截图

PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库

ps:php操作MySQL数据库中语句

我们常常用conn.php文件来建立与数据库的链接,然后在所需的文件中利用include 进行调用。这样有效防止对数据库属性的改动 而引起其他有关文件对数据调用的错误。

  现在来看一个conn.php文件,代码如下:

<?php
 $conn=@mysql_connect("localhost","root","")or die("数据库连接错误");//链接数据库服务器
 mysql_select_db("messageboard",$conn);//选择数据库名为messageboard
 mysql_query("set names 'utf'");//使用utf编码,这里不能写成utf-否则将显示乱码,但UTF不区分大小写
 ?>

学习积累,收集了PHP操作MYSQL的几个基础函数:

.使用mysql_connect()函数连接MySQL服务器:mysql_connect("hostname", "username","password");
如,$link = mysql_connect("localhost", "root", "") 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=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=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=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)

如:

$sql=mysql_query("select * from tb_book");
......
<?php $nums=mysql_num_rows($sql);echo $nums;?>

注:若要获得insert、update、delete语句的所影响到的数据,则必须使用mysql_affected_rows()函数来实现。

.mysql_query("set names gb");//设置MySQL的编码格式为 gb类型,以屏蔽乱码。

.关闭记录集:mysql_free_result($sql);

.关闭MySQL数据库服务器:mysql_close($conn);

PHP 相关文章推荐
php 应用程序安全防范技术研究
Sep 25 PHP
redis 队列操作的例子(php)
Apr 12 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
PHP实现货币换算的方法
Nov 29 PHP
php获取从html表单传递数组的方法
Mar 20 PHP
PHP异常处理浅析
May 12 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
php类的定义与继承用法实例
Jul 07 PHP
php计算title标题相似比的方法
Jul 29 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
php实现遍历多维数组的方法
Nov 25 #PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 #PHP
基础的WordPress插件制作教程
Nov 24 #PHP
优化WordPress的Google字体以加速国内服务器上的运行
Nov 24 #PHP
在WordPress中实现评论头像的自定义默认和延迟加载
Nov 24 #PHP
WordPress中缩略图的使用以及相关技巧
Nov 24 #PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 #PHP
You might like
优化使用mysql存储session的php代码
2008/01/10 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
Puppeteer环境搭建的详细步骤
2018/09/21 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
JS实现字体背景跑马灯
2020/01/06 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
python输出决策树图形的例子
2019/08/09 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
python中time包实例详解
2021/02/02 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
什么是makefile? 如何编写makefile?
2013/01/02 面试题
毕业生自我鉴定范文
2013/11/08 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
元旦晚会主持词
2014/03/24 职场文书
市场策划求职信
2014/08/07 职场文书
工作检讨书大全
2015/01/26 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技