【发布时间】:2019-10-23 02:24:20
【问题描述】:
我尝试从 MySQL 数据库接收数据。为此,我从我的应用程序连接到服务器上的 .php 文件。但我在 Android Studio 中看到了异常。
错误描述:
[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FormatException: Unexpected character (at character 4)
E/flutter (13513): "1""Mike""Deon""404""2""9577813""2""...
E/flutter (13513): ^
PHP文件代码:
<?php
$link = mysqli_connect('localhost', 'username', 'password', 'DatabaseName')
or die("Error" . mysqli_error($link));
//echo 'DB Connection.....OK!<br>';
$query ="SELECT * FROM Store";
$result = mysqli_query($link, $query) or die("Error " . mysqli_error($link));
if($result)
{
$rows = mysqli_num_rows($result);
for ($i = 0 ; $i < $rows ; ++$i)
{
$row = mysqli_fetch_row($result);
for ($j = 0 ; $j < 6 ; ++$j) echo json_encode($row[$j],JSON_UNESCAPED_UNICODE);
}
echo "</table>";
mysqli_free_result($result);
}
?>
应用程序中的 Dart 代码: ....
Future getData() async {
var url = 'https://mywebserver/data.php';
http.Response response = await http.get(url);
var data = jsonDecode(response.body);
print(data.toString());
}
@override
void initState() {
getData();
}
【问题讨论】:
-
在jsonDecode之前打印
response.body,貌似不是json数据 -
谢谢您的回答,我只是打印: print(response.body.toString());并且错误未显示!
-
使用该内容更新您的问题以检查收到的数据