使用PUT方法更新Sql在utf-8中不起作用

时间:2019-05-16 12:43:50

标签: php mysql ajax

我正在编写一个具有POST,GET,DELETE和PUT方法的api 除了我的PUT方法(发送英文字符进行更新时,可以)之外,所有请求类型均正常工作。但是对于波斯字符,它将无法运行。

注意:我正在Ajax的标头部分发送数据。
我已经在html文件的标头中将编码设置为utf-8,并告知使用波斯字符的POST方法工作正常。

if($_SERVER['REQUEST_METHOD'] === 'PUT') {
    $headers = apache_request_headers();
    $id = $headers['id'];
    $activityName = $headers['activityName'];
    $activityTime = $headers['activityTime'];
    $activityPrice = $headers['activityPrice'];
    $activityDoctor = $headers['activityDoctor'];
    mysqli_set_charset($db,"utf8");
    $updateAcSql = "Update activities SET activityname ='$activityName' , activitytime ='$activityTime' , activityprice ='$activityPrice' , doctorid ='$activityDoctor' WHERE id = $id";
    if (mysqli_query($db, $updateAcSql)) {
        $updateAcArray = array('mssg'=>'Updated');
        echo json_encode($updateAcArray);
    } else {
        $updateAcArray = array('mssg'=>'Not Updated');
        echo json_encode($updateAcArray);
    }
}

0 个答案:

没有答案