Php 如何将true或false显示为JSON结果| PDO
目前它的格式如下:Php 如何将true或false显示为JSON结果| PDO,php,pdo,Php,Pdo,目前它的格式如下: [{"person":"Jake"}] $stmt = $pdo->prepare( 'SELECT `person`, sum( `type` = "Broken" ) as `typeNumber` FROM `Table1` WHERE (`name` = :name AND (`job` = "collection") gr
[{"person":"Jake"}]
$stmt = $pdo->prepare(
'SELECT `person`,
sum( `type` = "Broken" ) as `typeNumber`
FROM `Table1`
WHERE (`name` = :name
AND
(`job` = "collection")
group by `person` ');
$stmt->execute([
'name' => $_POST['name']
]);
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($row);
如果选择了1个或多个记录,我希望{true}出现,否则{false}应该是默认值
这两个查询都不需要方括号您可以使用
EXISTS
查询
$stmt = $pdo->prepare("
SELECT EXISTS (
SELECT 1
FROM Table1
WHERE name = :name AND job = 'collection'
) AS found");
$stmt->execute(['name' => $_POST['name']]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
echo json_encode($row['found'] == 1);
MySQL将TRUE
编码为1
和FALSE
编码为0
,比较会将其转换为JSONTRUE/FALSE
如果只关心是否有匹配的行,则无需对结果进行分组或求和。括号在查询中不平衡。