Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php android将空行插入mysql_Php_Android_Mysql - Fatal编程技术网

Php android将空行插入mysql

Php android将空行插入mysql,php,android,mysql,Php,Android,Mysql,我正在研究如何预订停车位申请表。 现在,我要创建添加信息页面。 但android代码在mysql数据库中放置了空行。 网络连接正在工作,但mysql中插入了空数据行。 如何将数据插入mysql? 请帮帮我 public class DateAndTime extends Activity { EditText Name, Mobile, Addrs, Fee; TextView Otime, Ctime; String pic,name, mobile, addrs, otime, ctim

我正在研究如何预订停车位申请表。 现在,我要创建添加信息页面。 但android代码在mysql数据库中放置了空行。 网络连接正在工作,但mysql中插入了空数据行。 如何将数据插入mysql? 请帮帮我

public class DateAndTime extends Activity {


EditText Name, Mobile, Addrs, Fee;
TextView Otime, Ctime;
String pic,name, mobile, addrs, otime, ctime, fee;// 바꾸고 이미지도 추가.
ImageView Pic;
ViewFlipper flipper;

/**
 * ATTENTION: This was auto-generated to implement the App Indexing API.
 * See https://g.co/AppIndexing/AndroidStudio for more information.
 */
private GoogleApiClient client;

//View
private TextView mText1;
private TextView mText2;
private Button mPickDate1;
private Button mPickTime1;
private Button mPickDate2;
private Button mPickTime2;

 private int mYear1;
 private int mYear2;
 private int mMonth1;
 private int mMonth2;
 private int mDay1;
 private int mDay2;
 private int mHour1;
 private int mHour2;
 private int mMinute1;
 private int mMinute2;

static final int DATE_DIALOG_ID_1 = 0;
static final int TIME_DIALOG_ID_1 = 1;
static final int DATE_DIALOG_ID_2 = 2;
static final int TIME_DIALOG_ID_2 = 3;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.avtivity_date_time);

    mText1 = (TextView) findViewById(R.id.text1);
    mPickDate1 = (Button) findViewById(R.id.pickDate1);
    mPickTime1 = (Button) findViewById(R.id.pickTime1);

    mText2 = (TextView) findViewById(R.id.text2);
    mPickDate2 = (Button) findViewById(R.id.pickDate2);
    mPickTime2 = (Button) findViewById(R.id.pickTime2);

    mPickDate1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(DATE_DIALOG_ID_1);
        }
    });

    mPickDate2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(DATE_DIALOG_ID_2);
        }
    });

    mPickTime1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(TIME_DIALOG_ID_1);
        }
    });

    mPickTime2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(TIME_DIALOG_ID_2);
        }
    });

    final Calendar c = Calendar.getInstance();
    mYear1 = c.get(Calendar.YEAR);
    mMonth1 = c.get(Calendar.MONTH);
    mDay1 = c.get(Calendar.DAY_OF_MONTH);
    mHour1 = c.get(Calendar.HOUR_OF_DAY);
    mMinute1 = c.get(Calendar.MINUTE);

    mYear2 = c.get(Calendar.YEAR);
    mMonth2 = c.get(Calendar.MONTH);
    mDay2 = c.get(Calendar.DAY_OF_MONTH);
    mHour2 = c.get(Calendar.HOUR_OF_DAY);
    mMinute2 = c.get(Calendar.MINUTE);

    updateDisplay();

    Pic = (ImageView)findViewById(R.id.pic);
    //flipper = (ViewFlipper)findViewById(R.id.flipper);
    Name = (EditText) findViewById(R.id.et_owner);
    Mobile = (EditText) findViewById(R.id.et_mob);
    Addrs = (EditText) findViewById(R.id.et_addrs);
    Otime = (TextView) findViewById(R.id.text1);
    Ctime = (TextView) findViewById(R.id.text2);
    Fee = (EditText) findViewById(R.id.et_fee);

    // ATTENTION: This was auto-generated to implement the App Indexing API.
    // See https://g.co/AppIndexing/AndroidStudio for more information.
    client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
}

public void updateDisplay() {
    mText1.setText(String.format("시작 : %d년 %d월 %d일 %d시 %d분", mYear1, mMonth1 + 1, mDay1, mHour1, mMinute1));
    mText2.setText(String.format("종료 : %d년 %d월 %d일 %d시 %d분", mYear2, mMonth2 + 1, mDay2, mHour2, mMinute2));
}

public DatePickerDialog.OnDateSetListener mDateSetListener1 =
        new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                mYear1 = year;
                mMonth1 = monthOfYear;
                mDay1 = dayOfMonth;
                updateDisplay();
            }
        };
public DatePickerDialog.OnDateSetListener mDateSetListener2 =
        new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                mYear2 = year;
                mMonth2 = monthOfYear;
                mDay2 = dayOfMonth;
                updateDisplay();
            }
        };

public TimePickerDialog.OnTimeSetListener mTimeSetListener1 =
        new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                mHour1 = hourOfDay;
                mMinute1 = minute;
                updateDisplay();
            }
        };

public TimePickerDialog.OnTimeSetListener mTimeSetListener2 =
        new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                mHour2 = hourOfDay;
                mMinute2 = minute;
                updateDisplay();
            }
        };

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case DATE_DIALOG_ID_1:
            return new DatePickerDialog(this, mDateSetListener1, mYear1, mMonth1, mDay1);

        case TIME_DIALOG_ID_1:
            return new TimePickerDialog(this, mTimeSetListener1, mHour1, mMinute1, false);

        case DATE_DIALOG_ID_2:
            return new DatePickerDialog(this, mDateSetListener2, mYear2, mMonth2, mDay2);

        case TIME_DIALOG_ID_2:
            return new TimePickerDialog(this, mTimeSetListener2, mHour2, mMinute2, false);
    }
    return null;
}
public void saveInfo(View view) {
    pic = null;
    name = Name.getText().toString();
    mobile = Mobile.getText().toString();
    addrs = Addrs.getText().toString();
    otime = Otime.getText().toString();
    ctime = Ctime.getText().toString();
    fee = Fee.getText().toString();
    DateAndTime.BackgroundTask backgroundTask = new DateAndTime.BackgroundTask();
    backgroundTask.execute(pic, name,  mobile, addrs, otime, ctime, fee);
    //finish();
}

/**
 * ATTENTION: This was auto-generated to implement the App Indexing API.
 * See https://g.co/AppIndexing/AndroidStudio for more information.
 */
public Action getIndexApiAction() {
    Thing object = new Thing.Builder()
            .setName("ParkAddInfo Page") // TODO: Define a title for the content shown.
            // TODO: Make sure this auto-generated URL is correct.
            .setUrl(Uri.parse("http://35.160.135.119/add_park_info.php"))
            .build();
    return new Action.Builder(Action.TYPE_VIEW)
            .setObject(object)
            .setActionStatus(Action.STATUS_TYPE_COMPLETED)
            .build();
}

@Override
public void onStart() {
    super.onStart();

    // ATTENTION: This was auto-generated to implement the App Indexing API.
    // See https://g.co/AppIndexing/AndroidStudio for more information.
    client.connect();
    AppIndex.AppIndexApi.start(client, getIndexApiAction());
}

@Override
public void onStop() {
    super.onStop();

    // ATTENTION: This was auto-generated to implement the App Indexing API.
    // See https://g.co/AppIndexing/AndroidStudio for more information.
    AppIndex.AppIndexApi.end(client, getIndexApiAction());
    client.disconnect();
}

class BackgroundTask extends AsyncTask<String, Void, String> {
    String park_add_info_url;

    @Override
    protected void onPreExecute() {

        park_add_info_url = "http://35.160.135.119/add_park_info.php"; // insert the Domain name http://androidtut.comli.com//add_info.php
    }

    @Override
    protected String doInBackground(String... args)  {
        String pic, name,  mobile, addrs, otime, ctime, fee;
        pic = args[0];
        name = args[1];
        mobile = args[2];
        addrs = args[3];
        otime = args[4];
        ctime = args[5];
        fee = args[6];

        try {
            URL url = new URL(park_add_info_url);
            HttpURLConnection httpURLConnection =(HttpURLConnection) url.openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setDoOutput(true);
            OutputStream outputStream = httpURLConnection.getOutputStream();
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
            StringBuilder stringBuilder = new StringBuilder("pic=");
            stringBuilder.append(pic); stringBuilder.append("&owner="); stringBuilder.append(name); stringBuilder.append("&mobile=");
            stringBuilder.append(mobile); stringBuilder.append("&addrs=");
            stringBuilder.append(addrs); stringBuilder.append("&otime="); stringBuilder.append(otime); stringBuilder.append("&ctime=");
            stringBuilder.append(ctime); stringBuilder.append("&fee=");  stringBuilder.append(fee); stringBuilder.append("'");
            String data_string = URLEncoder.encode(stringBuilder.toString(),"utf-8");
            bufferedWriter.write(data_string);
            bufferedWriter.flush();
            bufferedWriter.close();
            outputStream.close();
            InputStream inputStream = httpURLConnection.getInputStream();
            inputStream.close();
            httpURLConnection.disconnect();
            return "One row of data inserted..";


        } catch (IOException e) {//TODO:check network dialog window
            e.printStackTrace();
        }

        return null;
    }

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

    @Override
    protected void onPostExecute(String result) {
        Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
    }

}
public类DateAndTime扩展活动{
编辑文本名称、手机、地址、费用;
文本视图Otime,Ctime;
字符串pic,name,mobile,addrs,otime,ctime,fee;//바꾸고 이미지도 추가.
图像视图;
视图翻转器翻转器;
/**
*注意:这是自动生成的,用于实现应用程序索引API。
*看https://g.co/AppIndexing/AndroidStudio 了解更多信息。
*/
私人谷歌客户;
//看法
私有文本视图mText1;
私有文本视图mText2;
专用按钮mPickDate1;
专用按钮mPickTime1;
专用按钮mPickDate2;
专用按钮mPickTime2;
私家侦探1;
私家侦探2;
私营机构1;
私人住宅2;
私人国际机场1号;
私人国际会议2日;
私人国际机场1号;
私人国际机场2号;
私人国际货币基金组织1;
私人int mMinute2;
静态最终整数日期对话框ID 1=0;
静态最终整数时间对话框ID 1=1;
静态最终整数日期对话框ID 2=2;
静态最终整数时间对话框ID 2=3;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.avtivity\u date\u time);
mText1=(TextView)findViewById(R.id.text1);
mPickDate1=(按钮)findViewById(R.id.pickDate1);
mPickTime1=(按钮)findViewById(R.id.pickTime1);
mText2=(TextView)findViewById(R.id.text2);
mPickDate2=(按钮)findViewById(R.id.pickDate2);
mPickTime2=(按钮)findViewById(R.id.pickTime2);
mPickDate1.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
showDialog(日期对话框ID对话框1);
}
});
mPickDate2.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
showDialog(日期对话框ID 2);
}
});
mPickTime1.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
showDialog(时间对话框ID 1);
}
});
mPickTime2.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
showDialog(时间对话框ID 2);
}
});
最终日历c=Calendar.getInstance();
mYear1=c.get(日历年);
mMonth1=c.get(日历月);
mDay1=c.get(日历日/月);
mHour1=c.get(日历小时);
mMinute1=c.get(日历分钟);
mYear2=c.get(日历年);
mMonth2=c.get(日历月);
mDay2=c.get(日历日/月);
mHour2=c.get(日历小时);
mMinute2=c.get(日历分钟);
updateDisplay();
Pic=(ImageView)findViewById(R.id.Pic);
//flipper=(ViewFlipper)findViewById(R.id.flipper);
Name=(EditText)findViewById(R.id.et_所有者);
Mobile=(EditText)findviewbyd(R.id.et_mob);
Addrs=(EditText)findViewById(R.id.et_Addrs);
Otime=(TextView)findViewById(R.id.text1);
Ctime=(TextView)findViewById(R.id.text2);
费用=(编辑文本)findViewById(R.id.et_费用);
//注意:这是自动生成的,用于实现应用程序索引API。
//看https://g.co/AppIndexing/AndroidStudio 了解更多信息。
client=new GoogleApiClient.Builder(this.addApi(AppIndex.API).build();
}
public void updateDisplay(){
mText1.setText(String.format(“시작 : %D년 %D월 %D일 %D시 %D분", mYear1,mMonth1+1,mDay1,mHour1,mMinute1);
mText2.setText(String.format(“종료 : %D년 %D월 %D일 %D시 %D분“,mYear2,mMTH2+1,mDay2,mHour2,mMinute2”);
}
public DatePickerDialog.OnDateSetListener mDateSetListener1=
新建DatePickerDialog.OnDateSetListener(){
@凌驾
公共void onDateSet(日期选择器视图,整数年,整数月,整数月){
mYear1=年;
mMonth1=一年一个月;
mDay1=每月的第几天;
updateDisplay();
}
};
public DatePickerDialog.OnDateSetListener mDateSetListener2=
新建DatePickerDialog.OnDateSetListener(){
@凌驾
公共void onDateSet(日期选择器视图,整数年,整数月,整数月){
mYear2=年;
mMonth2=一年一个月;
mDay2=每月的第几天;
updateDisplay();
}
};
公共时间选择器Dialog.OnTimeSetListener MTTimeSetListener1=
新的TimePickerDialog.OnTimeSetListener(){
@凌驾
时间集上的公共void(时间选择器视图,整数小时日,整数分钟){
mHour1=小时/天;
mMinute1=分钟;
updateDisplay();
}
};
公共时间选择器Dialog.OnTimeSetListener MTTimeSetListener2=
新的TimePickerDialog.OnTimeSetListener(){
@凌驾
时间集上的公共void(时间选择器视图,整数小时日,整数分钟){
mHour2=小时/天;
mMinute2=分钟;
updateDisplay();
}
};
@凌驾
受保护的对话框onCreateDialog(int id){
开关(id){
案例日期\u对话框\u ID\u 1:
返回新的DatePickerDialog(this,mDateSetListener1,mYear1,mMonth1,mDay1);
案例时间\u对话框\u ID\u 1:
返回新的TimePickerDialog(this,mTimeSetListener1,mHour1,mMinute1,false);
案例日期\u对话框\u ID\u 2:
返回新的DatePickerDialog(this,mDateSetListener2,mYear2,mMonth2,mDay2);
案例时间\u对话框\u ID\u 2:
返回新的TimePickerDialog(this,mTimeSetListener2,mHour2,mMinute2,false);
}
返回null;
}
公共void saveInfo(视图){
pic=null;
name=name.getText().toString();
mobile=mobile.getText().toString();
addrs=addrs.getTex
<?php
require "time_init.php"; //connecting mysql

$pic = $_POST["pic"];
$owner = $_POST["owner"];
$mobile = $_POST["mobile"];
$addrs = $_POST["addrs"];
$otime = $_POST["otime"];
$ctime = $_POST["ctime"];
$fee = $_POST["fee"];

$sql = "INSERT INTO park_info VALUES ('$pic', '$owner', '$mobile', '$addrs',  '$otime', '$ctime', '$fee');";
mysqli_query($con, $sql)

?>