php - 如何使用最新版本的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):
请帮助,我是新来的颤振....
解决方案
推荐阅读
- android - 是否可以在不使用单个“样式”属性的情况下设置整个应用程序的样式?
- c++ - 在 C++ 类中使用 Parent::Grandparent
- c# - 在自定义 asp.net mvc 重定向代码中创建 Asp.net 身份验证重定向问题
- python - 由于索引,将两个 Pandas 系列相乘产生 NaN 条目
- python - 滑动窗口并将 DataFrame 的元素与阈值进行比较
- opengl - 我可以有两个统一缓冲区指向 OpenGL 中的同一个块吗?
- docker - 使用常见的中间/最终步骤维护多个 docker 映像
- c# - 用于查询字符串保护的 MS 数据保护 API 对给定的明文强制使用相同的密文
- python - 如何在字典中添加单个键的值
- flutter - 加载 webview 内容后设置 PageView 子页面的宽度或高度