我有一个MySQL表,其字段为LONGTEXT
$sql = "SELECT * FROM openings WHERE shortlisted = 'NO' ORDER BY fullName asc";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$final[] = array(
"status" => "200",
"message" => "Applicants information fetched successfully"
);
foreach ($result as $row) {
$cv = $row['cover_letter'];
$final[]= array (
"coverletter" => $cv
);
}
echo json_encode($final);
}
但如果我将此行"coverletter" => $cv
更改为"coverletter" => gettype($cv)
我收到String类型的响应。
答案 0 :(得分:0)
我认为你在代码中犯了错误。
试试这个
$sql = "SELECT * FROM openings WHERE shortlisted = 'NO' ORDER BY
fullName asc";
$result = $conn->query($sql);
if ($result->num_rows > 0){
$final[] = array(
"status" => "200",
"message" => "Applicants information fetched successfully"
);
while ($row = mysql_fetch_assoc($result))
{
$cv = $row['cover_letter'];
$final[]= array (
"coverletter" => $cv
);
}
echo json_encode($final);
}
我已经更新了代码,因为在你的代码中你没有获取结果,尽管你直接试图得到结果obj上的行是错误的。
答案 1 :(得分:0)
来晚了……但是我遇到了类似的问题,我通过 AJAX 调用 PHP 脚本来检索数据库信息并将其推送到网页。但是,只要我包含长文本字段,查询就会失败。
在网上搜索后我发现了这个问题,这与字符编码有关。只需在我的 SELECT 语句后添加以下行即可立即解决问题:
mysqli_query($db_conn, 'SET CHARACTER SET utf8');
希望这对某人有所帮助!