3 回答
TA贡献1842条经验 获得超21个赞
您不应该尝试通过操作字符串来创建 json,而是使用内部json_encode方法。
$result = $conn->query($sql);
$response = [];
while ($row = $result->fetch()) {
$response[] = [
'idDepart' => $row->idDepart,
'idCircuit' => $row->idCircuit,
'dateDebut' => $row->dateDebut,
'nbPlaces' => $row->nbPlaces,
'prix' => $row->prix,
'titrePromotion' => $row->titrePromotion,
'rabais' => $row->rabais
];
}
echo json_encode($response);
像这样,你 100% 肯定有:
如果您的输入无法编码,则出现 PHP 错误。
显示有效的 json。
- - 编辑 - -
我看到你用法语编码,注意特殊字符(如é à ...)。你应该到处都有 UTF-8 编码。
你的 php.ini
你的 PDO 连接
您的数据库字符集、表和字段。
$dbHandle = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf-8", $dbUser, $dbPass); $dbHandle->exec("SET CHARACTER SET utf8");
TA贡献1859条经验 获得超6个赞
您可以尝试将 php 脚本简化为这个吗?
<?php
if (!session_id()) {
@session_start();
}
header('Content-Type: application/json');
require 'controlleur/connexionDB.php';
$sql = "SELECT * FROM depart";
$result = $conn->query($sql);
$liste = array();
while($row = $result->fetch()){
$list[] = [
"idDepart" => $row->idDepart,
"idCircuit" => $row->idCircuit,
"dateDebut" => $row->dateDebut,
"nbPlaces" => $row->nbPlaces,
"prix" => $row->prix,
"titrePromotion" => $row->titrePromotion,
"rabais" => $row->rabais
];
}
echo json_encode($liste);
我使用json_encode()而不是手动编写字符串,我认为这可以更好地避免拼写错误。
- 3 回答
- 0 关注
- 233 浏览
添加回答
举报