gpt4 book ai didi

java - 使用 PHP 将 Android 数据添加到 MySQL

转载 作者:行者123 更新时间:2023-11-29 12:29:48 25 4
gpt4 key购买 nike

我有一个 MySQL 数据库,我想在我的 Android 应用程序中添加一个条目。为此,我在中间有一个 PHP 脚本。因此,我的 Android 应用程序应该运行带有应插入数据库的值的脚本,并且脚本调用数据库来插入它。我的 MySQL 数据库名为 GCM_ID只有一列名为 GCM_ID看起来像这样:

GCM_ID
------
id1
id2
id3
...

这是我的 PHP 脚本:

<?php
mysql_connect("my_domain","my_user","my_password");
mysql_select_db("GCM_ID");

$id=$_REQUEST['GCM_ID'];

$flag['code']=0;

if($r=mysql_query("insert into GCM_ID(GCM_ID) VALUES('$id')",$con))
{
$flag['code']=1;
echo"hi";
}

print(json_encode($flag));
mysql_close($con);
?>

域、用户和密码正确,我已经使用另一个脚本对此进行了测试。

这是我的 Android 应用程序连接到 PHP 脚本的 Java 代码:

public void insert(String gcm_id) {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<>();

nameValuePairs.add(new BasicNameValuePair("GCM_ID", gcm_id));


try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("link/to/my/php/script");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
Log.e("pass 1", "connection success ");
} catch (Exception e) {
Log.e("Fail 1", e.toString());
Toast.makeText(getApplicationContext(), "Invalid IP Address",
Toast.LENGTH_LONG).show();
}

try {
BufferedReader reader = new BufferedReader
(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
Log.e("pass 2", "connection success ");
} catch (Exception e) {
Log.e("Fail 2", e.toString());
}

try {
JSONObject json_data = new JSONObject(result);
code = (json_data.getInt("code"));

if (code == 1) {
Toast.makeText(getBaseContext(), "Inserted Successfully",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getBaseContext(), "Sorry, Try Again",
Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
Log.e("Fail 3", e.toString());
}
}

我从 here 获取了代码 fragment 并稍微修改了 PHP 脚本和 Android 代码。当我运行我的应用程序时,出现此错误:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/a2161963/public_html/insertGcmIds.php on line 9
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/a2161963/public_html/insertGcmIds.php on line 16

我是 PHP 新手,这就是我不熟悉的原因第一个问题是,带有代码 fragment 的教程向 MySQL 数据库添加了一对值,这就是他使用 ArrayList<NameValuePair> 的原因。 。我可以用这个NameValuePair只有一个值?我可以用其他方法来做吗?我还做错了什么吗?

最佳答案

从 mysql_query 和 mysql_close 中删除 $con,它将起作用

  mysql_connect("my_domain","my_user","my_password");
mysql_select_db("GCM_ID");

$id=$_REQUEST['GCM_ID'];

$flag['code']=0;

if($r=mysql_query("insert into GCM_ID(GCM_ID) VALUES('$id')"))
{
$flag['code']=1;
echo"hi";
}

echo json_encode($flag);
mysql_close();

并停止使用 mysql_ 扩展,因为它已被弃用......而是使用 mysqli 或 pdo。尝试 w3schools.com 获取 mysqli 扩展。

关于java - 使用 PHP 将 Android 数据添加到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27732794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com