gpt4 book ai didi

java - 为什么不能从Android应用程序向MySQL插入数据

转载 作者:太空狗 更新时间:2023-10-29 15:19:34 26 4
gpt4 key购买 nike

我已经创建了我的数据库 MySQL,我希望将数据从 android 应用程序发送到数据库中,但我做不到。我正在使用 wamp 服务器。

这是我的 PHP 代码:

<?php mysql_connect("localhost","cupcake","123456");
mysql_select_db("cindy");
$sql=mysql_query("insert into yang (name)values('".$_REQUEST['i_name']."')");
$r=mysql_query($sql);
if(!$r)echo "Error in query: ".mysql_error();mysql_close();?>

这是我在 Android 上的 Java 文件

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);



String result = null;
JSONArray jArray;
InputStream is = null;
StringBuilder sb=null;


ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

nameValuePairs.add(new BasicNameValuePair("i_name","aaa"));
try{

HttpClient httpclient = new DefaultHttpClient();

HttpPost httppost = new HttpPost("http://10.0.2.2/testing.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection"+e.toString());
}



try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n"); }
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}//paring datatry


try {
jArray = new JSONArray(result);
//int[] deal_id=new int[jArray.length()+1];
JSONObject json_data=null;
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
}
} catch(JSONException e1){
} catch (ParseException e1) {
e1.printStackTrace(); }
}}

这是我创建的MySQL表

--

CREATE TABLE IF NOT EXISTS `yang` (
`name` varchar(100) NOT NULL,
PRIMARY KEY (`name`)
)

请帮帮我..谢谢...

最佳答案

这种开发可能很难调试,所以我总是使用大量日志记录。

例如,在您的 PHP 中添加:

error_log("正在插入姓名:". $_REQUEST['i_name']);

然后您可以检查服务器错误日志以确保您得到了您期望的结果。不断添加日志语句,直到找到问题为止。

PS:我不是 PHP 专家,但在我看来您的 PHP 容易受到 SQL 注入(inject)攻击,因此您可能不想部署它!

关于java - 为什么不能从Android应用程序向MySQL插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9290891/

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