【问题标题】:how to insert data into server database with user input?如何使用用户输入将数据插入服务器数据库?
【发布时间】:2011-08-28 15:20:47
【问题描述】:

目前,我从数据库中检索数据是这样的

private void getdatafromphp(){
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    //http post
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://10.0.2.2/video.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());
    }
       //convert response to string
    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 data
    try{
        jArray = new JSONArray(result);
        JSONObject json_data=null;
        json_data = jArray.getJSONObject(jArray.length()-1);
        url=json_data.getString("VideoUrl");
    }catch(JSONException e1){
    }catch(ParseException e1) {
        e1.printStackTrace();
    }
}

用这个 php

<?php
mysql_connect("localhost","root","");
mysql_select_db("imammuda");
$sql=mysql_query("select * from Video");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>

现在我想将数据插入数据库。该怎么做?

我找到了“插入表(column1,column2)值('value1','value2')”的sql命令。

这是用 php 输入的常量值插入。

我想要的是从java那里得到用户的输入,然后将此输入复制到php'value1'中,然后运行php来更新数据库。

【问题讨论】:

标签: java php android sql


【解决方案1】:

取决于您使用的是 Get 还是 Post

我会假设 GET

$value = $_GET['value']; // this will retrieve the value from the url and save it in a variable

mysql_connect("localhost","root","");

// escape the value first
$value = mysql_real_escape_string($value);


mysql_select_db("imammuda");
$result = mysql_query("insert into Video (value) values ('$value')");

?>

了解有关使用 db here 的更多信息

更新

要知道正确的请求方法可以使用这个。

$req;
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $req = $_GET;
}else {
    $req = $_POST;
}

现在您可以使用 $req 作为您的请求变量:

$value = $req['value'];

【讨论】:

  • 从数据库中检索时,我使用的是 POST
  • 在这种情况下,只需将 $_GET 替换为 $_POST
  • opps,那我错了,从我上面的php代码,我也不知道我用的是什么方法?我想问的是方法(post/get)设置在哪里?
  • 好的,我添加了更新以获得正确的方法,这些是在脚本开始运行之前设置的全局变量,因此您可以从任何地方访问它们
猜你喜欢
  • 1970-01-01
  • 2021-04-04
  • 1970-01-01
  • 2020-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
相关资源
最近更新 更多