|
|
|
ใช้ JAVA ทำ Web Service และให้ PHP ส่งข้อมูลเพื่อบันทึกลง DB ไม่ได้ |
|
|
|
|
|
|
|
ไม่สามารถบันทึกข้อมูลลงดาต้าเบสได้ ช่วยดูทีครับว่าเกิดปัญหาตรงส่วนไหนของโค้ด
ตัวเชื่อมต่อ DB
package connect.db;
import java.sql.*;
public class ConnectDB
{
private Connection con =null;
public Connection connectDB()throws SQLException
{
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/auchukit_proit","root","1234");
}
catch(Exception e){
e.printStackTrace();
}
return con;
}
public boolean disconnect()
{
try{
con.close();
}
catch(Exception e){
return false;
}
return true;
}
public ResultSet selectDB(String sql)
{
ResultSet rs=null;
try{
Statement stm = con.createStatement();
rs = stm.executeQuery(sql);
}
catch(Exception e){
}
return rs;
}
public int updateDB(String sql)
{
int rows=0;
try{
Statement stm = con.createStatement();
rows = stm.executeUpdate(sql);
}
catch(Exception e){
rows=-1;
e.printStackTrace();
}
return rows;
}
}
ตัวWeb Service
package services;
import org.apache.axiom.om.*;
import java.sql.*;
import javax.xml.namespace.QName;
import connect.db.*;
public class RegisterService {
private String namespace="http://services/xsd";
public OMElement regisUser(OMElement users)
{
users.build();
users.detach();
OMElement reg = users.getFirstChildWithName(new QName(namespace,"userID"));
String userID = reg.getText();
reg = users.getFirstChildWithName(new QName(namespace,"userName"));
String userName = reg.getText();
reg = users.getFirstChildWithName(new QName(namespace,"password"));
String password = reg.getText();
reg = users.getFirstChildWithName(new QName(namespace,"firstname"));
String firstname = reg.getText();
reg = users.getFirstChildWithName(new QName(namespace,"lastname"));
String lastname = reg.getText();
reg = users.getFirstChildWithName(new QName(namespace,"email"));
String email = reg.getText();
reg = users.getFirstChildWithName(new QName(namespace,"tell"));
String tell = reg.getText();
String query = "INSERT INTO users(userID,userName,password,firstname,lastname,email,tell) ";
query += "VALUES ('"+userID+"','"+userName+"','"+password+"','"+firstname+"','"+lastname+"','"+email+"','"+tell+"')";
System.out.println(query);
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("http://services/xsd","ns");
OMElement method = fac.createOMElement("regisUserResponse", omNs);
try
{
String result = "";
ConnectDB con = new ConnectDB();
con.connectDB();
int num = con.updateDB(query);
System.out.println("dddddd");
if(num > 0)
{
result = "ture";
}
else
result = "false";
System.out.println(result);
reg = fac.createOMElement("result",omNs);
reg.addChild(fac.createOMText(reg,result));
method.addChild(reg);
con.disconnect();
}
catch (Exception e)
{
System.out.println(e.toString());
}
return method;
}
public OMElement check(OMElement reg)
{
/*ResultSet reg = null;
OMElement cre = null;
String query = "SELECT Username,Password from users where Username='"+Username+"' and Password'"+Password+"'";
try
{
ConnectDB con = new ConnectDB();
String result="";
reg = con.selectDB(query);
if(reg.next())
{
result = "ture";
}
else
{
result = "false";
}
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNS = fac.createOMNamespace("http://services/xsd","ns");
cre = fac.createOMElement("result",omNS);
cre.addChild(fac.createOMText(result));
}
catch(Exception e)
{
System.out.println(e.toString());
}*/
reg.build();
reg.detach();
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("http://services/xsd","ns");
OMElement reg1 = reg.getFirstChildWithName(new QName(namespace,"userID"));
String userID = reg.getText();
OMElement method = fac.createOMElement("checkResponse", omNs);
reg1.addChild(fac.createOMText(reg1,"123"));
method.addChild(reg1);
System.out.println(userID);
return method;
}
}
PHP
<?php
if(isset($_POST["submit"]))
{//START IF ISSET SUBMIT
if($_POST["username"]!=""&&$_POST["password1"]!=""&&$_POST["password2"]!=""&&$_POST["fname"]!=""&&$_POST["lname"]!=""
&&$_POST["email"]!=""&&$_POST["tell"]!="")
{//START IF CHECK $_POST
include("nusoap/lib/nusoap.php");
$client = new nusoap_client("http://localhost:8081/axis2/services/RegisterService?wsdl",true);
$params = array(
'userID' => $_POST["username"],
'userName' => $_POST["password1"],
'password' => $_POST["password2"],
'firstname' => $_POST["fname"],
'lastname' => $_POST["lname"],
'email' => $_POST["email"],
'tell' => $_POST["tell"],
);
/*'strRegisPicName' =>$_FILES["picuser"]["name"],
'strRegisPicType' =>$_FILES["picuser"]["type"],
'strRegisPicTmp' =>$_FILES["picuser"]["tmp_name"],
'strRegisPicError' =>$_FILES["picuser"]["error"]*/
$data = $client->call('regisUser', $params);
}//END IF CHECK $_POST
}//END IF ISSET SUBMIT
?>
Tag : PHP
|
|
|
|
|
|
Date :
2013-03-13 05:02:46 |
By :
nihao |
View :
1009 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code Java มันทำงานได้ตามปกติหรือเปล่าครับ ?
|
|
|
|
|
Date :
2013-03-13 09:02:46 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่ามันทำงานปกติครับ
แต่ส่วนที่ UPDATE หรือ INSERT มันอยู่ใน method regisUser() (ตัว Web Service บรรทัดที่ 11)
แต่ไม่มีการเรียกใช้เลยครับ เป็นเพราะเหตุนี้หรือเปล่า
|
|
|
|
|
Date :
2013-03-13 09:13:01 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หรือถ้ามันมีการเรียกใช้จากคลาสอื่นอีกที อันนี้ก็ไม่ทราบแล้วล่ะครับ
|
|
|
|
|
Date :
2013-03-13 09:13:47 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทุกอย่างปกติ ครับ แต่ ผมจะส่งข้อมูลจาก php ไปยัง web service แต่ พอกรอกข้อมูลไปแล้ว มันไม่บันทึกลงฐานข้อมูลอะครับ ผมไม่ ทราบว่าผมเรียกใช้คลาสถูกหรือเปล่าในส่วนของ php
|
|
|
|
|
Date :
2013-03-13 10:41:13 |
By :
nihao |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้มิทราบเหมือนกันครับ ตรงส่วน PHP มันมี error อะไรออกมาหรือเปล่าครับ
ลอง log error ลงไฟล์ดูก็ดีครับ
|
|
|
|
|
Date :
2013-03-13 11:16:29 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|