【问题标题】:How to get bool value from PHP MySQL如何从 PHP MySQL 中获取布尔值
【发布时间】:2020-01-09 09:19:06
【问题描述】:

我正在尝试从 PHP MySQL 获取布尔值。我想打印这个布尔值。我得到 2 个值 NULL 和 BOOL VALUE。 这是我的代码:

 Future<String> getTabData() async {
    final postData = {"token": uToken};
    final sendResponse = await http.post(serverURL + "/addpage.php", body: postData);

    if (sendResponse.statusCode == 200) {
      Map<String, dynamic> userData = jsonDecode(sendResponse.body);
      var resCode = await userData["res"];
      return resCode;
    } else {
      throw Exception('Failed to load content');
    }
  } //_getTabData



  String _rCode="";

  @override
  void initState() {
    // TODO: implement initState
    super.initState();

    if (_rCode == "") {
      getTabData().then((String rxCode) =>
          setState(() {
            _rCode = rxCode;
          }));
    }
  }


@override
  Widget build(BuildContext context) {

    String rCode = _rCode;
    print("RC: $rCode");

    return SafeArea(
      child: Scaffold(
        body: Stack(
          children: <Widget>[
            Container(
              width: MediaQuery
                  .of(context)
                  .size
                  .width,
              height: MediaQuery
                  .of(context)
                  .size
                  .height,
              decoration: BoxDecoration(
                gradient: grdMainGradient,
              ),
              child: Column(
                children: <Widget>[

                ],
              ),
            ),
          ],
        ),
      ),
    );
  } //

【问题讨论】:

    标签: php mysql flutter dart


    【解决方案1】:

    您不应该在 initState() 中直接调用异步。

    你应该改变:

        initState(){
         fetchData();
        }
    
    void fetchData() async{
      String value = await getTabData();
     print(value);
    }
    

    【讨论】:

    • 将尝试此代码并相应地更新您。谢谢@Trần Nhật Nam Lê
    【解决方案2】:

    你指的是这段代码吗?

    var resCode = await userData["res"];
    

    如果是这样,您可能需要仔细检查userData["res"] 是否实际包含truefalse,而不是"true""false",因为它可能表示为字符串而不是布尔值;如果您确定userData["res"] 将始终包含布尔值,请将var resCode 更改为bool resCode

    【讨论】:

    • 根据建议,我尝试了:fetchData() async { bool _rCode = await getTabData(); return _rCode; } addCD() { bool rx=fetchData(); return rx; } 现在在小部件中添加addCD() 会出现错误type 'Future&lt;dynamic&gt;' is not a subtype of type 'bool'
    猜你喜欢
    • 2016-07-15
    • 2015-11-12
    • 1970-01-01
    • 2014-02-12
    • 2019-12-30
    • 1970-01-01
    • 2016-07-08
    • 2012-02-01
    • 1970-01-01
    相关资源
    最近更新 更多