2013-02-07 70 views
0

我想從我的Java程序中調用一些PHP腳本,這樣我就可以查詢/修改我的數據庫。我對數據庫完全陌生,並不知道發生了什麼。從Java調用PHP

我想從java內部調用下面的腳本。

腳本

<?php 
include('test.php'); 

define("HOST", "localhost"); 

define("USERNAME", "xxxx"); 

define("PASSWORD", "xxxx"); 

define("DATABASE", "project_database"); 

mysql_connect(HOST, USERNAME, PASSWORD); 

mysql_select_db(DATABASE); 

?> 

Java代碼

public static String excutePost(String targetURL, String urlParameters) 
    { 
     URL url; 
     HttpURLConnection connection = null; 
     try { 
     //Create connection 
     url = new URL(targetURL); 
     connection = (HttpURLConnection)url.openConnection(); 
     connection.setRequestMethod("POST"); 
     connection.setRequestProperty("Content-Type", 
      "application/x-www-form-urlencoded"); 

     connection.setRequestProperty("Content-Length", "" + 
       Integer.toString(urlParameters.getBytes().length)); 
     connection.setRequestProperty("Content-Language", "en-US"); 

     connection.setUseCaches (false); 
     connection.setDoInput(true); 
     connection.setDoOutput(true); 

     //Send request 
     DataOutputStream wr = new DataOutputStream (
        connection.getOutputStream()); 
     wr.writeBytes (urlParameters); 
     wr.flush(); 
     wr.close(); 

     //Get Response 
     InputStream is = connection.getInputStream(); 
     BufferedReader rd = new BufferedReader(new InputStreamReader(is)); 
     String line; 
     StringBuffer response = new StringBuffer(); 
     while((line = rd.readLine()) != null) { 
      response.append(line); 
      response.append('\r'); 
     } 
     rd.close(); 
     return response.toString(); 

     } catch (Exception e) { 

     e.printStackTrace(); 
     return null; 

     } finally { 

     if(connection != null) { 
      connection.disconnect(); 
     } 
     } 
    } 

應該採取什麼目標網址是?

+1

我提醒你「詢問」按鈕是用來提問的。你想知道什麼?此外,除非您有不切實際的期望,否則您的[tag:php],[tag:sql]和[tag:database]標記完全不相關... –

+0

謝謝您提醒我! – TomSelleck

回答

3

如果要調用新進程,請參見java.lang.Process

但是Java能夠通過JDBC直接與您的數據庫交談,這是我強烈建議的方法。您不必使用多種語言創建新流程或實施您的解決方案,並且可以使用衆多與JDBC相關的框架來改善您的生活。數據庫訪問相當容易。

0

你需要指定頁面的鏈接,可能是一些像「/localhost/yourPageInPhp.php

我假設你需要執行的腳本,只是在Java中顯示其輸出