2014-10-12 4 views
0

На данный момент мое приложение для Android просто берет имя пользователя и страну и отправляет вставки этих данных в mysql, связанные с httpclient в php и в следующем действии (Android), он считывает все данные для моего db и отображает его. Проблема в том, что каждая вставка сохраняет 2 одинаковых значения в базе данных, тогда как в моем PHP-скрипте есть только один запрос. Я полностью не понимаю науку, стоящую за ней. Взгляд на поддержку. Android вставки кода:Android Php Mysql вставка повторения

httpclient=new DefaultHttpClient(); 
httppost= new HttpPost("http://......./wp-mail.php"); 
//add your data 
nameValuePairs = new ArrayList<NameValuePair>(2); 
// Always use the same variable name for posting i.e the android side variable name and php side variable name should be similar, 
nameValuePairs.add(new BasicNameValuePair("username",et.getText().toString().trim())); // $Edittext_value = $_POST['Edittext_value']; 
nameValuePairs.add(new BasicNameValuePair("password",pass.getText().toString().trim())); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

PHP код для вставки:

<?php 
    //echo 'this'; 
    $hostname = "localhost"; 
    $database = "..."; 
    $username = "..."; 
    $password = "xyz"; 

    $cn = mysql_connect($hostname, $username, $password) or die(mysql_error()); 
    mysql_select_db($database); 

    $name=$_POST['username']; 
    $country=$_POST['password']; 

    $insert="INSERT INTO `downloader_details`(id,name,country) VALUES (NULL,'$name','$country')"; 

    $result1 = mysql_query($insert) or die(mysql_error()); 
    echo "Done Loading"; 
    mysql_close($cn); 
    exit(); 
?> 

PHP код Дисплей:

<?php 
    //echo 'this'; 
$hostname = "localhost"; 
$database = "..........."; 
$username = ".........."; 
$password = "........."; 

$cn = mysql_connect($hostname, $username, $password) or die(mysql_error()); 
mysql_select_db($database); 

$query="SELECT * FROM `downloader_details` ORDER BY id DESC LIMIT 8"; 
$result = mysql_query($query) or die(mysql_error()); 

echo "Following people around the world downloaded this application"; 

while($row = mysql_fetch_assoc($result)) 

{ 
    echo $row['name']. " From ". $row['country']."\n\n"; 
} 


mysql_close($cn); 
exit(); 
?> 

ответ

0

код выглядит нормально. Должно быть сделано только один раз. httpclient может потребовать два раза, я думаю .. 1. проверьте это на Android. 2. Другая идея делает оба столбца уникальными, если это не проблема, поэтому вставка не произойдет.

+0

Работа с частью запроса HttpClient. Что-нибудь связано с методами GET и POST? Я использую Post в обеих сторонах, но я думаю, что создание coenction снова во втором действии вызывает проблему, главным образом, –

+0

показать, где все вы вызываете httpclient для отправки req. Проблема может быть там .. попробуйте отладки – Panther

+0

отсортировано .. Я повторно отправлял запрос httppost как-то в разделе ответа. Сейчас работает как шарм. Спасибо вам за помощь. Я думаю, что я должен принять ваш ответ, поскольку он показал возможную область проблем, если не точный ответ. Кажется оправданным. –

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