我有一个将数据插入MySQL的PHP脚本,必须使用UTF-8完成 如果行动成功执行,我想回应成功"使用JSON这就是为什么我需要设置两次Content-Type标头或者我错了?
示例代码:
<?php
header('Content-Type: text/html; charset=utf-8'); // header one
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Dennis', 'Enström', 'dennis@example.com')";
if (mysqli_query($conn, $sql)) {
header('Content-Type: application/json'); // header two
echo json_encode('success');
}
这是正确的方法吗?我应该怎么做?
更新
MySQL值来自$ _POST,HTML文档设置为UTF-8。
答案 0 :(得分:0)
使用$app
->get('/route/{id}', 'controllers.myController:getIndex')
->assert('id', '[0-9]+');
$app
->get('/route/{code}', 'controllers.myController:getIndex')
->assert('code', '[a-zA-Z]+');
(PHP manual page)设置Mysql客户端界面使用的字符集。
使用mysqli_set_charset()
会向客户端的浏览器发送一个标题,说明如何阅读您的JSON编码&#34;成功&#34;字符串。
此时验证数据库中选择的编码可能是个好主意。
请注意,您的代码目前缺少在运行查询之前打开mysqli连接的命令。