【发布时间】:2021-05-03 15:14:38
【问题描述】:
我为我的 ReactJS 前端构建了一个 php 后端。
我的 mysql users 表有一个 checkedIn 列,存储为 tinyint。我正在获取它:
<?php
// ...
$getUser = "SELECT * FROM `users` WHERE `uid`=:uid AND `unique_id`=:unique_id";
$getUser_stmt = $conn->prepare($getUser);
$getUser_stmt->bindValue(':uid', $uid,PDO::PARAM_STR);
$getUser_stmt->bindValue(':unique_id', $unique_id,PDO::PARAM_STR);
$getUser_stmt->execute();
//...
在我的前端:
useEffect(() => {
axios
.get(`${config.server}/api/user.php?uid=${match.params.uid}`)
.then((result) => {
console.log(result.data.message);
setUser(result.data.message);
})
.catch((error) => console.error(error));
}, [match.params.uid]);
我的日志给了我:
{
"id": "5",
"uid": "A0005",
"unique_id": "1384773b4df62",
"mail": "mail@test.com",
"date_checkin": "2021-05-03 11:00:35",
"checkedIn": "1"
}
如何修改我的后端或前端,以便在前端为 checkedIn 提供一个真正的布尔值?
我希望:
{
"id": 5,
"uid": "A0005",
"unique_id": "1384773b4df62",
"mail": "mail@test.com",
"date_checkin": Date Mon May 03 2021 17:15:27 GMT+0200,
"checkedIn": true
}
作为副作用:如何将 id 转换为 Number 并将时间戳转换为 Date?
【问题讨论】:
-
在php中返回
$row之前,只需使用$row['checkedIn'] = boolval($row['checkedIn']); return $row
标签: javascript php mysql reactjs