【发布时间】:2022-01-04 12:43:45
【问题描述】:
我在下面有一个 PHP 文件
<?php
require dirname(__FILE__).'/../DbConnection/conn.php';
if($conn){
$sqlStr = "SELECT
YEAR(OrderBill.BillingDate) AS year,
SUM(MultiPay.Amount) AS growth_rate
FROM Rst_TblMultiPayModes MultiPay
LEFT OUTER JOIN Rst_TblOrderBills OrderBill
ON MultiPay.OrderBillCode = OrderBill.OrderBillCode
WHERE OrderBill.isBillCleared=1 AND OrderBill.isMerged=0
AND MultiPay.PaymentMode IN(1,2,3,4,6,7)
$_GET['mselectperiod']
GROUP BY
YEAR(OrderBill.BillingDate)";
$sqlResult = mysqli_query($conn,$sqlStr);
$response = array();
while($row = mysqli_fetch_assoc($sqlResult)){
array_push($response,$row);
}
echo json_encode($response);
mysqli_close($conn);
}else{
echo "Host Connection Error";
}
?>
当我在浏览器中执行此 PHP 文件时,它可以正常工作,如下所示 Execution Result Of salegrowthratechartyear.php
现在谈到Android,我通过创建一个接口来使用Retrofit库,如下所示
public interface ApiInterface {
@GET("{PHP_QRY_FILE_NAME}")
Call<List<Growth>> getGrowthInfo(@Path(value="PHP_QRY_FILE_NAME",encoded = true) String mPhpQryFileName);
}
那我调用如下
call = ChartApiClient.getApiClient().create(ApiInterface.class).getGrowthInfo("salesgrowthratechartyear.php);
上述方法也可以正常工作,但仅当我在 PHP 文件中删除 $_GET['mselectperiod'] 时。 当我想在我的界面中的那个 PHP 文件中使用 $_GET['mselectperiod'] 时,问题就来了,如下所示
public interface ApiInterface {
@GET("{PHP_QRY_FILE_NAME}")
Call<List<Growth>> getGrowthInfo(@Path(value="PHP_QRY_FILE_NAME",encoded = true) String mPhpQryFileName, @Query("mselectperiod") String mWhereClause);
}
那我调用如下
call = ChartApiClient.getApiClient().create(ApiInterface.class).getGrowthInfo("salesgrowthratechartyear.php",SalesGrowthChart.mFinalSelectPeriodQry);
请注意,“SalesGrowthChart.mFinalSelectPeriodQry”是一个变量,它接收如下变化的字符串值
"AND YEAR(BillingDate)>=2019 AND YEAR(BillingDate)
什么都没有发生。我错过了什么?
【问题讨论】: