首页 > 解决方案 > 如何使用最新版本的http离线连接flutter和php mysql?

问题描述

我正在尝试将我的颤振代码与 PHP 中的 MySQL 连接起来,并且在按下提交按钮时出现错误。

class _SignInState extends State<SignIn> {
  String _email;
  String _pass;

  Future login(String email, String pass) async {
    Map<String, dynamic> parameters = {
      "email": _email,
      "password": _pass,
    };

    Uri uri = Uri(
      scheme: 'http',
      host: '192.168.43.107',
      path: 'flutterdb/login.php',
    );
    var body = json.encode(parameters);
    //dynamic url = "http://192.168.43.107/flutterdb/login.php";
    var response = await http.post(uri, body: body);

    var data = json.decode(response.body);
    if (data == "Error") {
      Fluttertoast.showToast(
          msg: "Error, wrong",
          toastLength: Toast.LENGTH_SHORT,
          gravity: ToastGravity.CENTER,
          timeInSecForIosWeb: 1,
          backgroundColor: Colors.red,
          textColor: Colors.white,
          fontSize: 16.0);
    } else {
      Fluttertoast.showToast(
          msg: "Success",
          toastLength: Toast.LENGTH_SHORT,
          gravity: ToastGravity.CENTER,
          timeInSecForIosWeb: 1,
          backgroundColor: Colors.red,
          textColor: Colors.white,
          fontSize: 16.0);
    }
  }
     //widget code
}

然后下面是我的 php mysqli 查询,我在最初创建数据库后尝试使用它来验证登录

<?php
    $db = mysqli_connect('localhost','root','','fireapp');

    $email = $_POST['email'];
    $password = $_POST['pass'];


    $sql = "SELECT * FROM logintb WHERE email = '".$email."' AND password = '".$password."'";
    $result = mysqli_query($db, $sql);
    $count = mysqli_nums_rows($results);

    if($count == 1 ){
        echo json_encode('Success');
    }else{
        echo json_encode('Error');
    }


?>

我正在用我的手机在外部用电缆调试....

但是点击提交时出现此错误...

E/libPowerStretch(11572): LucidStats currentFPS = 0.09 [2395482480]
E/flutter (11572): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: FormatException: Unexpected character (at character 1)
E/flutter (11572): <br />
E/flutter (11572): ^
E/flutter (11572):
E/flutter (11572): #0      _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1404:5)
E/flutter (11572): #1      _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1271:9)
E/flutter (11572): #2      _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:936:22)
E/flutter (11572): #3      _parseJson (dart:convert-patch/convert_patch.dart:40:10)
E/flutter (11572): #4      JsonDecoder.convert (dart:convert/json.dart:506:36)
E/flutter (11572): #5      JsonCodec.decode (dart:convert/json.dart:157:41)
E/flutter (11572): #6      _SignInState.login (package:fireapp/screens/authenticate/sign_in.dart:32:21)
E/flutter (11572): <asynchronous suspension>
E/flutter (11572):

请帮助,我是新来的颤振....

标签: phpflutterdart

解决方案


推荐阅读