Java 将Android应用程序数据连接到网站数据库

Java 将Android应用程序数据连接到网站数据库,java,php,android,mysql,database,Java,Php,Android,Mysql,Database,我正在为android构建软键盘,它有一些设置,我想上传到我网站服务器数据库中的用户行,然后当用户更改设备并登录时,设置是相同的。我以前使用过SQL,但我还没有将android应用程序连接到我的网站数据库的经验。我在网上找到了一些东西,但它给出了我在数据库中插入的字符串示例的空结果。以下是我要在其上运行测试的数据库中的表: 名称|详细信息 拉扎尔|名字 杰利克|姓 洛基|巴尔博亚 我的托管网站服务器上有一个名为keyboard.php的php脚本,它的外观如下: <?php mysql_

我正在为android构建软键盘,它有一些设置,我想上传到我网站服务器数据库中的用户行,然后当用户更改设备并登录时,设置是相同的。我以前使用过SQL,但我还没有将android应用程序连接到我的网站数据库的经验。我在网上找到了一些东西,但它给出了我在数据库中插入的字符串示例的空结果。以下是我要在其上运行测试的数据库中的表:

名称|详细信息

拉扎尔|名字

杰利克|姓

洛基|巴尔博亚

我的托管网站服务器上有一个名为
keyboard.php
的php脚本,它的外观如下:

<?php 
mysql_connect("hostname", "username", "password") or die(mysql_error()); 

mysql_select_db("database") or die(mysql_error()); 

$link= $_GET['link']; 

$query = "SELECT * FROM keyboard WHERE link=" . "'" . $link. "'";
$result =mysql_query($query); 

if($result){
     while($row= mysql_fetch_array( $result )) {
         echo $row['name'] 
         . " " . $row['link'] 
         . " " . $row['time'];
    }
  }
?> 

请帮我做这个。提前谢谢。问你想知道的任何事情

测试此php代码,因为结果为空:

if (isset ($_GET ["name"])){
    $name = mysql_real_escape_string($_GET ["name"]);
    $query = htmlentities ($query);
    mysql_query("SET NAMES 'utf8'");
    $query = mysql_query("SELECT * FROM my_table WHERE name = '$name');
    $result = mysql_query($query);


    $rows = array();

            if (!empty($result)){
                while($r = mysql_fetch_assoc($result)){
                        // $rows[] = $r; has the same effect, without the superfluous data attribute
                        $r["Column1"] = $r["Column1"];
                        $r["Column2"] = $r["Column2"]; //You can add many columns like the table have
                        $rows[] = $r;                       
                        //$rows[] = array('Deal' => $r);
                    }

                    echo json_encode($rows);

                }

}

您的查询字符串为“”。如果你测试这个URL,你不会得到任何解释空结果的结果,而不是简单地将URL查询字符串参数(
name
,在你的例子中)放入SQL语句中。请阅读“SQL注入”以了解您为什么不想要它,永远不要。此外,永远不要捕获
NullPointerException
,只是不要捕获,而是在发生时解决它,或者事先在正确的位置检查
null
。永远不要捕获异常,也不要记录任何有关它的信息。你会问为什么你的代码是错误的,但首先你应该听编译器和运行时。我应该设置什么作为查询,让我的应用程序访问我网站上的php文件,或者直接访问我的网站数据库(如果可能的话)@user3641702Ok,我删除了
NullPointerException
,并编写了一个代码来检查字符串是否为null或空。我该怎么办@RisadinhaIn
keyboard.php
我使用$\u GET来接收数据@subinthomasy您的php不会返回任何内容,请首先验证您的php代码,并将结果发布在问题中。我已经更改了php脚本以及java代码。问题已解决,但不使用您的答案。无论如何,谢谢。@laky.brat您能否发布您的解决方案(android和php)作为答案。我为同一个问题纠结了一个多星期,仍然没有找到任何有用的东西@edwinj在其他问题中提供json字符串和php代码,从来都不是同一个问题。@Santiago别担心,我找到了一个解决方案:无论如何谢谢你的回复:)
if (isset ($_GET ["name"])){
    $name = mysql_real_escape_string($_GET ["name"]);
    $query = htmlentities ($query);
    mysql_query("SET NAMES 'utf8'");
    $query = mysql_query("SELECT * FROM my_table WHERE name = '$name');
    $result = mysql_query($query);


    $rows = array();

            if (!empty($result)){
                while($r = mysql_fetch_assoc($result)){
                        // $rows[] = $r; has the same effect, without the superfluous data attribute
                        $r["Column1"] = $r["Column1"];
                        $r["Column2"] = $r["Column2"]; //You can add many columns like the table have
                        $rows[] = $r;                       
                        //$rows[] = array('Deal' => $r);
                    }

                    echo json_encode($rows);

                }

}