2016年4月17日 星期日

第四次第五次

Eclipse 程式
Eclipse連結SQL
package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class jdbcmysql {
 private Connection con = null; //Database objects
 //連接object
 private Statement stat = null;
 //執行,傳入之sql為完整字串
 private ResultSet rs = null;
 //結果集
 private PreparedStatement pst = null;
 //執行,傳入之sql為預儲之字申,需要傳入變數之位置
 //先利用?來做標示

 private String dropdbSQL = "DROP TABLE User ";

 private String createdbSQL = "CREATE TABLE User (" +
   "    id     INTEGER " +
   "  , name    VARCHAR(20) " +
   "  , passwd  VARCHAR(20))";

 private String insertdbSQL = "insert into User(id,name,passwd) " +
     "select ifNULL(max(id),0)+1,?,? FROM User";

 private String selectSQL = "select * from User ";

 public jdbcmysql()
 {
   try {
     Class.forName("com.mysql.jdbc.Driver");
     //註冊driver
     con = DriverManager.getConnection(
     "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=Big5",
     "","");
     //取得connection

//jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=Big5
//localhost是主機名,test是database名
//useUnicode=true&characterEncoding=Big5使用的編碼
   
   }
   catch(ClassNotFoundException e)
   {
     System.out.println("DriverClassNotFound :"+e.toString());
   }//有可能會產生sqlexception
   catch(SQLException x) {
     System.out.println("Exception :"+x.toString());
   }
 
 }
 //建立table的方式
 //可以看看Statement的使用方式
 public void createTable()
 {
   try
   {
     stat = con.createStatement();
     stat.executeUpdate(createdbSQL);
   }
   catch(SQLException e)
   {
     System.out.println("CreateDB Exception :" + e.toString());
   }
   finally
   {
     Close();
   }
 }
 //新增資料
 //可以看看PrepareStatement的使用方式
 public void insertTable( String name,String passwd)
 {
   try
   {
     pst = con.prepareStatement(insertdbSQL);
   
     pst.setString(1, name);
     pst.setString(2, passwd);
     pst.executeUpdate();
   }
   catch(SQLException e)
   {
     System.out.println("InsertDB Exception :" + e.toString());
   }
   finally
   {
     Close();
   }
 }
 //刪除Table,
 //跟建立table很像
 public void dropTable()
 {
   try
   {
     stat = con.createStatement();
     stat.executeUpdate(dropdbSQL);
   }
   catch(SQLException e)
   {
     System.out.println("DropDB Exception :" + e.toString());
   }
   finally
   {
     Close();
   }
 }
 //查詢資料
 //可以看看回傳結果集及取得資料方式
 public void SelectTable()
 {
   try
   {
     stat = con.createStatement();
     rs = stat.executeQuery(selectSQL);
     System.out.println("ID\t\tName\t\tPASSWORD");
     while(rs.next())
     {
       System.out.println(rs.getInt("id")+"\t\t"+
           rs.getString("name")+"\t\t"+rs.getString("passwd"));
     }
   }
   catch(SQLException e)
   {
     System.out.println("DropDB Exception :" + e.toString());
   }
   finally
   {
     Close();
   }
 }
 //完整使用完資料庫後,記得要關閉所有Object
 //否則在等待Timeout時,可能會有Connection poor的狀況
 private void Close()
 {
   try
   {
     if(rs!=null)
     {
       rs.close();
       rs = null;
     }
     if(stat!=null)
     {
       stat.close();
       stat = null;
     }
     if(pst!=null)
     {
       pst.close();
       pst = null;
     }
   }
   catch(SQLException e)
   {
     System.out.println("Close Exception :" + e.toString());
   }
 }


 public static void main(String[] args)
 {
   //測看看是否正常
   jdbcmysql test = new jdbcmysql();
   test.dropTable();
   test.createTable();
   test.insertTable("yku", "12356");
   test.insertTable("yku2", "7890");
   test.SelectTable();

 }
}

資料表   login.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM `user`";
$result = $conn->query($sql);

if ($result != null) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["name"]. $row["passwd"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>



沒有留言:

張貼留言