我想使用 php 代码来扫描条形码,但我只得到了条形码编号。我如何执行 php 代码以及如何在 flutter 中提取数据。我的 php 代码是这样的
<?php
error_reporting(0);
include_once ("dbconnect.php");
$code=$_POST['code'];
$encoded_string = $_POST["encoded_string"];
$decoded_string = base64_decode($encoded_string);
if (isset($code)){
$sql = "SELECT * FROM PRODUCT WHERE CODE ='$code'";
}
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
$response["product"] = array();
while ($row = $result->fetch_assoc())
{
$productlist = array();
$productlist["id"] = $row["ID"];
$productlist["name"] = $row["NAME"];
$productlist["price"] = $row["PRICE"];
$productlist["stock"] = $row["STOCK"];
$productlist["description"] = $row["DESCRIPTION"];
$productlist["code"] = $row["CODE"];
array_push($response["product"], $productlist);
}
echo json_encode($response);
}
else
{
echo "nodata";
}
?>
我尝试在 flutter 中提取数据,但它只传递条形码编号。这就是我尝试从 php 调用/传递数据的方式。
Future<Product> getProduct()async{
String code;
await http.post("https://smileylion.com/easyshopping/php/getproducts.php",body:{
"code":code
})
.then((response){
print(response.body);
if(response.body=="nodata"){
titlecenter= "No product found";
setState(() {
productdata =null;
});
} else{
setState(() {
var extractdata = json.decode(response.body);
productdata = extractdata["product"];
});
}
}).catchError((err) {
print(err);
});
}
如果有什么不对的地方需要补充吗?我对 Flutter 很陌生,我目前正在开发一个需要读取条码的应用程序。