从android在线数据库中插入数据

时间:2016-04-10 12:22:22

标签: java php android mysql database

我正在尝试将数据从android插入到在线数据库,我的应用程序没有给出任何错误,以便我可以修复它,它工作正常,当我将我的应用程序连接到localhost并且它成功插入数据但当我尝试将数据插入在线数据库它不起作用。谁能告诉我我做错了什么? 在你查看我的代码之前,我希望你查看我的托管信息,以防你们认为我做错了。

Main Domain securekid.base.pk
FTP hostname:   ftp.base.pk
FTP username:   basep_****
MySQL hostname: sql104.base.pk
MySQL username: basep_****
Hosting Volume  vol14_2

我的数据库连接文件:

<?php
$host = "sql104.base.pk";
$user = "basep_****";
$password = "******";
$db = "basep_*****_android";
$con = mysqli_connect($host, $user, $password, $db);
if($con)
{
    echo "successful";
}
else
{
    die("error" . mysqli_connect_error());
}

?>

register.php

<?php
require "db_connect.php";
$username =$_POST["username"];
$password =$_POST["password"];
$phone_no =$_POST["phone_no"];
$mysql_qry = "insert into user(username,password,phone_no) values('$username', '$password', '$phone_no')";

if($con->query($mysql_qry) === TRUE)
{
    echo  "Registration Successful";
}
else{
    echo "failed";
}
?>

这是background.java文件

class backgroundTask extends AsyncTask<String,Void,String> {
    AlertDialog alertDialog;
    Context ctx;
   // Globals session_id = Globals.getInstance();
    // Globals session_id_child = Globals.getInstance();
    backgroundTask(Context ctx) {
        this.ctx = ctx;
    }

    String reg_url;

    @Override
    protected void onPreExecute() {
        reg_url = "http://securekid.base.pk/app/register.php";
    }

    @Override
    protected String doInBackground(String... args) {

        String method = args[0];

        if (method.equals("register")) {
            String username = args[1];
            String password = args[2];
            String phone_no = args[3];
            try {
                URL url = new URL(reg_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream OS = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(OS, "UTF-8"));
                String data = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(username, "UTF-8") + "&" +
                        URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8") + "&" +
                        URLEncoder.encode("phone_no", "UTF-8") + "=" + URLEncoder.encode(phone_no, "UTF-8");
                bufferedWriter.write(data);
                bufferedWriter.flush();
                bufferedWriter.close();
                OS.close();
                InputStream IS = httpURLConnection.getInputStream();
                IS.close();
                //httpURLConnection.connect();
                httpURLConnection.disconnect();
                return "Registration Successful";
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

1 个答案:

答案 0 :(得分:0)

看来,在您发布的代码中,您正在检查浏览器是否支持JavaScript。 Android HttpURLConnection不会处理JavaScript,因此您的请求将失败。你得到的结果是:

<html>
    <body>
        <script type="text/javascript" src="/aes.js" ></script>
        <script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f
            <d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("b9a6c9d5cb703e2906de146c3bad1187");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; document.cookie="referrer="+escape(document.referrer); location.href="http://securekid.base.pk/app/register.php?ckattempt=1";
            </script>
            <noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript>
        </body>
    </html>

我建议您查看网站中生成该代码并禁用API文件的部分,因为API客户端永远不会处理JavaScript。