php脚本中的未定义变量

时间:2016-01-06 05:49:19

标签: php android mysql

说真的,我不知道我的php脚本有什么问题。我想通过php脚本将数据从android更新到MySQL。 timein 外,所有列值都可以更新。我无法弄清楚我的代码中有什么问题。

enter image description here

updateDetails.php

<?php

    if($_SERVER['REQUEST_METHOD']=='POST'){
        //Getting values 
  $id =$_POST['id'];
  $project =$_POST['project'];
  $description =$_POST['description'];
  $progress =$_POST['percentage'];
  $timeIn =$_POST['timein'];
  $timeOut = $_POST['timeout']; 

   require_once('dbConnect.php');

 $sql = "UPDATE work_details SET  project = '$project', work_description = '$description', percentage = '$progress', timeIn = '$timein' , timeOut ='$timeOut' WHERE id = $id;";

  //Updating database table 
 if(mysqli_query($con,$sql)){
 echo ' Updated Successfully';
 }else{
 echo 'Could Not Update. Try Again';
 }
 //closing connection 
 mysqli_close($con);
    }

 ?>

UpdateDetails功能

public void Update( final String project, final String description, final int progress, final String timeIn, final String timeOut)
{
    class UpdateInfo extends AsyncTask<Void,Void,String>{
        ProgressDialog loading;
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            loading = ProgressDialog.show(Edit_Details.this,"Updating...","Wait...",false,false);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            loading.dismiss();
            Toast.makeText(Edit_Details.this,s,Toast.LENGTH_LONG).show();
        }

        @Override
        protected String doInBackground(Void... params) {
            HashMap<String,String> hashMap = new HashMap<>();
            hashMap.put(Config.KEY_ID,ID);
            hashMap.put(Config.KEY_PROJECT,project);
            hashMap.put(Config.KEY_DESCRIPTION,description);
            hashMap.put(Config.KEY_PROGRESS,String.valueOf(progress));
            hashMap.put(Config.KEY_TIME_IN,timeIn);
            hashMap.put(Config.KEY_TIME_OUT,timeOut);
            RequestHandler rh = new RequestHandler();
            String s = rh.sendPostRequest(Config.URL_UPDATEDETAILS,hashMap);

            return s;
        }
    }

    UpdateInfo ue = new UpdateInfo();
    ue.execute();
}

配置

  public static final String KEY_TIME_IN="timein";

1 个答案:

答案 0 :(得分:0)

您的SQL语句有

"... timeIn = '$timein' ..."

但是你之前将变量声明为

$timeIn =$_POST['timein']; 

确保修复大小写以使变量匹配。