PHP 错误 一次插入导致两行 ANDROID

标签 php android mysql request insert-into

我的 php 脚本有问题 当我单击“Inscrire”按钮时,它调用我的请求 INSERT,但他在我的表中创建了两行具有相同数据的行。

这是我的 php 代码:

<?php
require_once('assistmysql.php');

    $id_activite = $_POST['id_activite'];
    $id_users = $_POST['id_users'];
    $etat = $_POST['etat'];

    if($etat == '1')
    {   
        $sql = "INSERT INTO inscription_activite (id_activite,id_users) VALUES ('$id_activite','$id_users')";
        $result=$con->query($sql);
        if(mysqli_query($con, $sql))
            {
                echo'info enregistrée !!!!';
            }
            else
            {
                echo'dommage..';

            }
            mysqli_close($con);
    }

    else if ($etat == '2')
    {
        $sql =  "DELETE FROM inscription_activite WHERE id_users = '$id_users' AND id_activite = '$id_activite'";
        $result=$con->query($sql);
        if(mysqli_query($con, $sql))
            {
                echo'vous etes bien desinscrit !';
            }
            else
            {
                echo'quelle tristesse..';

            }mysqli_close($con);
    }


?>

这是我的代码 android :

public class BackgroundWorker extends AsyncTask<String,Void,String> {

    Context context;
    AlertDialog alertDialog;
    BackgroundWorker (Context ctx) {
        context = ctx;
    }
    protected String doInBackground(String... params) {
        String type = params[0];
        String login_url = "http://192.168.20.135/scriptphp/redirectionactivite.php";
        if(type.equals("inscrire")) {
            try {
                String etat = params [1];
                String id_user = params [2];
                String id_activite = params[3];

                URL url = new URL(login_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data =URLEncoder.encode("etat", "UTF-8")+"="+URLEncoder.encode(etat,"UTF-8")+"&" 
                        +URLEncoder.encode("id_users", "UTF-8")+"="+URLEncoder.encode(id_user,"UTF-8")+"&" 
                        +URLEncoder.encode("id_activite", "UTF-8")+"="+URLEncoder.encode(id_activite,"UTF-8");

                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result="";
                String line="";
                while((line = bufferedReader.readLine())!= null) {
                    result += line;
                }
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        else if (type.equals("desinscrire"))
        {
             try {
                 String etat = params [1];
                 String id_user = params [2];
                 String id_activite = params[3];

                 URL url = new URL(login_url);
                 HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                 httpURLConnection.setRequestMethod("POST");
                 httpURLConnection.setDoOutput(true);
                 httpURLConnection.setDoInput(true);
                 OutputStream outputStream = httpURLConnection.getOutputStream();
                 BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                 String post_data =URLEncoder.encode("etat", "UTF-8")+"="+URLEncoder.encode(etat,"UTF-8")+"&" 
                        +URLEncoder.encode("id_users", "UTF-8")+"="+URLEncoder.encode(id_user,"UTF-8")+"&" 
                        +URLEncoder.encode("id_activite", "UTF-8")+"="+URLEncoder.encode(id_activite,"UTF-8");

                 bufferedWriter.write(post_data);
                 bufferedWriter.flush();
                 bufferedWriter.close();
                 outputStream.close();
                 InputStream inputStream = httpURLConnection.getInputStream();
                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                 String result="";
                 String line="";
                 while((line = bufferedReader.readLine())!= null) {
                     result += line;
                 }
                 bufferedReader.close();
                 inputStream.close();
                 httpURLConnection.disconnect();
                 return result;
             } catch (MalformedURLException e) {
                 e.printStackTrace();
             } catch (IOException e) {
                 e.printStackTrace();
             }


        }
        return null;
    }

    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(context).create();
        alertDialog.setTitle("Info status");
    }

    protected void onPostExecute(String result) {
        alertDialog.setMessage(result);
        alertDialog.show();
    }

    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }
}

最佳答案

在您的 PHP 代码中,您似乎执行了两次查询:

$result=$con->query($sql);
if(mysqli_query($con, $sql))

要么:

$result = $con->query($sql);
if ($result) {

或:

if(mysqli_query($con, $sql)) {

关于PHP 错误 一次插入导致两行 ANDROID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36479832/

相关文章:

php - Google Drive PHP API - 简单的文件上传

java - 连接到 Android 时是否必须为每个 CRUD 方法创建单独的 php 文件?

mysql - perl mysql解析

java - Android 在启动应用程序时出现运行时错误

java - 添加字符串资源而不是静态数据

mysql - 优先考虑找到匹配项的那些字段

php - 来自模型的 Magento SQL 查询

php - ON DUPLICATE KEY UPDATE 上的 SQL 语法错误

php - 如何提取和导入维基百科页面?

php - 在 JavaScript 中向日期添加月份