2013-12-08 5 views
0

им, имеющий следующий код:Вставка данных в Mysql базы данных

private void setCounter(String counter,String stName){ 


     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("XXX"); 


     try{ 
      ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("vCounter",counter)); 
      nameValuePairs.add(new BasicNameValuePair("StName",stName)); 

      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
      HttpResponse response = httpclient.execute(httppost); 

     }catch(Exception e){ 
      Log.e("log_tag", "Error in http connection "+e.toString()); 
     } 
    } 


class setCountertoDB extends AsyncTask<Void, Void, Boolean> {//kept 


     @Override 
     protected Boolean doInBackground(Void... params) { 

      setCounter(StringCounter,streetName); 
      return null; 
     } 
    } 

PHP файл:

<?php 
$con = mysql_connect("XXX","XXX","XXX"); 
if (!$con) 
    { 
    die('Could not Connect:'. mysql_error()); 
    } 
mysql_select_db("a6241050_Stpeeds",$con); 


mysql_query ("INSERT INTO DBNAME (vCounter) VALUES('".$_REQUEST['vCounter']."') WHERE StName='".$_REQUEST['StName']."'"); 

mysql_close($con); 
?> 

приложение работает хорошо, и нет никаких ошибок в LogCat, но когда я проверить базу данных там нет данных, пожалуйста, помогите с этим, зная, что я использовал почти тот же код для выбора значений из базы данных, и это сработало, но оно не работает со вставкой!

+2

Как вы можете прочитать в [document] (https://dev.mysql.com/doc/refman/5.1/insert.html), MySQL не разрешает 'WHERE' в' INSERT' - то, что вы все равно пытаетесь это сделать? (Вы бы знали, была ли у вас проверка на ошибку, например 'mysql_query (" ... ") или die (mysql_error());') – kero

+0

@kingkero спасибо большое, да, где не разрешено вставлять, извините за это , я просто попытаюсь использовать обновление вместо этого :) – Izzo32

ответ

3

Привет, если у вас есть, чтобы сделать новую запись не может использовать ГДЕ:

mysql_query ("INSERT INTO DBNAME (vCounter) VALUES('".$_REQUEST['vCounter']."')); 
1

Попробуйте

mysql_query ("UPDATE table_name SET vcounter='".$_REQUEST['vcounter']."'WHERE StName='".$_REQUEST['StName']."'"); 

Это должно сделать работу.

+0

Я просто сделал это, и это работает как шарм :), большое спасибо :) – Izzo32

+1

@ Izzo32 рад узнать, что я мог бы помочь. – akki

Смежные вопросы