私は、mysqlサーバに接続してクエリを作成できる非常に基本的なアンドロイドアプリケーションを作ろうとしています。私はホスト、ユーザー、名前とパスワードが必要な最初のページを作った。次に、これらの入力をPOSTメソッドを使用してphpスクリプト(conn.php)に渡します。 mysql接続が確立されている場合は、「成功」を示すポップアップが表示され、それ以外の場合はエラーが表示されます。今、私はここで立ち往生しています。今私はホスト、ユーザー名とパスワードを提供し、接続を確立した後、接続上でクエリを行う別のPHPスクリプトで同じ接続を使用したい。SQL接続を別のPHPに渡す方法
は、ここに私のconn.php
<?php
$host=$_POST["host"];
$user=$_POST["user"];
$pass=$_POST["pass"];
$sql=new mysqli($host,$user,$pass);
if($sql->connect_error)
echo "Failed: ".$sql->connect_error;
else{
echo "Success";
}
?>
は、ここで私はそれが間違ってやっている場合は、何が別の方法かもしれない私のAndroidのタスク
class ConnectSqlDb extends AsyncTask<String, Void, String> {
ProgressDialog waitDialog;
@Override
protected void onPreExecute() {
waitDialog=ProgressDialog.show(MainActivity.this,"Connecting to MySQLServer","Please wait...",true,false);
}
@Override
protected String doInBackground(String... params) {
URL url=null;
HttpURLConnection connection=null;
OutputStream os;
BufferedWriter writer;
StringBuilder parameter=new StringBuilder();
try {
parameter.append(URLEncoder.encode("host", "UTF-8"));
parameter.append("=");
parameter.append(URLEncoder.encode(params[1], "UTF-8"));
parameter.append("&");
parameter.append(URLEncoder.encode("user", "UTF-8"));
parameter.append("=");
parameter.append(URLEncoder.encode(params[2], "UTF-8"));
parameter.append("&");
parameter.append(URLEncoder.encode("pass", "UTF-8"));
parameter.append("=");
parameter.append(URLEncoder.encode(params[3], "UTF-8"));
}catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
url = new URL(params[0]);
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
os=connection.getOutputStream();
writer=new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
writer.write(parameter.toString());
writer.flush();
writer.close();
BufferedReader br=new BufferedReader(new InputStreamReader(connection.getInputStream()));
String message=br.readLine();
br.close();
return message;
}catch (MalformedURLException e){
e.printStackTrace();
return null;
}
catch (IOException e){
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(String message) {
waitDialog.dismiss();
Toast.makeText(MainActivity.this,message,Toast.LENGTH_SHORT).show();
}
}
public void connect(View v){
String server=phpserver.getText().toString();
String hostname=host.getText().toString();
String username=user.getText().toString();
String password=pass.getText().toString();
new ConnectSqlDb().execute(server,hostname,username,password);
}
だのですか?
ような何かを、あなたが唯一のDB接続を持っていることを確認したいのですか?私はあなたが複数のPHPと複数のクエリを実行している間に確立する1つの接続を確認したいのですか? – webDev
まあまあです。一度確立されると、その1つの接続だけを使用したいと思います。 – Ruman