我正在为android构建软键盘,它有我想上传到我的网站服务器数据库中的用户行的设置,然后当用户更改设备和登录时,设置是相同的。我以前用SQL工作过,但我没有连接安卓应用程序到我的网站数据库的经验。我在网上找到了一些东西,但它给出了我在数据库中插入的字符串示例的空结果。下面是我想在数据库中运行测试的表:
name | detail
lazar | firstname
jelic |姓氏
rocky | balboa
我有php脚本在我的托管网站服务器命名为keyboard.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'];
}
}
?>
这是我的SyncDatabse.java
:
public class SyncDatabase {
public static String getFromDB(String linkToGetData) throws IOException {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
HttpClient httpclient=new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://www.ecloga.org/keyboard.php?link=" + linkToGetData);
HttpResponse response = httpclient.execute(httpget);
String theResponse = EntityUtils.toString(response.getEntity());
return theResponse;
}
}
请帮我一下。提前感谢。你想知道什么就问什么。
测试这段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);
}
}