android - 使用 section[id] 获取 0 id
问题描述
我整晚都在做这个数据库,但我不明白为什么当我从 Android 应用程序下订单时,为什么我在表格购物车中的订单 ID 始终为 0。插入两个表的东西没有问题,但只是对于购物车表中的 orderid,它总是在表中返回 0。
大车
<?php
require "connection.php";
session_start();
$foodname=$_POST["food_name"];
$cartquantity=$_POST["cart_quantity"];
$id=$_POST["id"];
$pickuptime=$_POST["pick_up_time"];
$orderid= $_SESSION["last_id"];
$mysqli_qry="insert into cart (orderid,foodname,cartquantity,id,pickuptime)
values ('$orderid','$foodname','$cartquantity','$id','$pickuptime')";
if ($conn->query($mysqli_qry,$mysqli_qry1)==TRUE){
echo "Insert Successful";
}
else {
echo "Error:".$mysqli_qry."<br>".$conn->error;
}
?>
命令
<?php
$hostname="localhost";
$username="root";
$password="";
$database="";
$conn = new PDO("mysql:host=$hostname;dbname=$database", $username,
$password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
session_start();
$id=$_POST["id"];
$pickuptime=$_POST["pick_up_time"];
$pickupdate=$_POST["pick_up_date"];
$amount=$_POST["amount"];
$mysqli_qry="insert into `order` (`id`,`pickuptime`,`pickupdate`,`amount`)
values ($id,$pickuptime,$pickupdate,$amount)";
$conn->exec($mysqli_qry);
$_SESSION["last_id"] == $conn->lastInsertId();
?>
更新 我的 Android 部分
public class BackgroundWorker extends AsyncTask<String,Void,String> {
Context context;
AlertDialog alertDialog;
BackgroundWorker (Context ctx){
context=ctx;
}
@Override
protected String doInBackground(String...params){
String type=params[0];
String order_url="http://192.168.28.1/restaurant/orderdb.php";
String cart_url="http://192.168.28.1/restaurant/cartdb.php";
if (type.equals("order")){
try{
String id=params[1];
String pick_up_time=params[2];
String pick_up_date=params[3];
String amount=params[4];
URL url=new URL(order_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("id","UTF-8")+"="+URLEncoder.encode(id,"UTF-8")+"&"+URLEncoder.encode("pick_up_time","UTF-8")+"="+URLEncoder.encode(pick_up_time,"UTF-8")+"&"+URLEncoder.encode("pick_up_date","UTF-8")+"="+URLEncoder.encode(pick_up_date,"UTF-8")+"&"+URLEncoder.encode("amount","UTF-8")+"="+URLEncoder.encode(amount,"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("cart")){
try{
String food_name=params[1];
String cart_quantity=params[2];
String id=params[3];
String pick_up_time=params[4];
URL url=new URL(cart_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("food_name","UTF-8")+"="+URLEncoder.encode(food_name,"UTF-8")+"&"+URLEncoder.encode("cart_quantity","UTF-8")+"="+URLEncoder.encode(cart_quantity,"UTF-8")+"&"+URLEncoder.encode("id","UTF-8")+"="+URLEncoder.encode(id,"UTF-8")+"&"+URLEncoder.encode("pick_up_time","UTF-8")+"="+URLEncoder.encode(pick_up_time,"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;
}
解决方案
您没有定义orderid
变量 inparams
并且它在post_data
.
推荐阅读
- django - 在 view.py 中添加 djangorestframework-gis 时出错
- flutter - 颤动中的列和行
- python - Python 运行多段独立的代码
- sql - Oracle SQL - 根据当前月份定义日期的年份元素
- django - 为什么 Django Rest 序列化程序保存不起作用?
- python - 可以在图形的部分而不是整个 train_step 上使用 tf.distribute.Strategy.mirroredstrategy 用于 GAN 自定义训练脚本?
- java - 有没有办法搜索具有超过指定数量的构造函数的所有类?
- protobuf-net - 我们如何识别文件是否被 protobuf 序列化?
- azure - 不同资源组的 Azure VM 存储库
- javascript - 登录前发送验证电子邮件