Připojení přímo k MySQL (nebo jakýkoli jiný databázový přístup přímo od klientů) není dobrý nápad, kromě Firebase. Pokud chcete komunikovat s MySql db, je lepším řešením vytvořit serverovou aplikaci a vystavit nějaké HTTP REST API (s node.js, php atd.). Pomocí API můžete také poskytnout token pro klienta pro přístup k vašim datům. Můžete zadávat HTTP požadavky https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient-class.html .
Pokud se nyní z jakéhokoli důvodu stále chcete připojit přímo k MySQL, mějte na paměti, že jakákoli klientská aplikace může přistupovat k vaší databázi pomocí write povolení v tomto případě (a to není vůbec dobrý postup!), jen pro testovací příklad můžete zkusit vytvořit soubor php:
// Příklad připojení a vložení dat
<?php
if (isset($_POST["value"])) {
$servername = "localhost";
$user = "username";
$pw = "password";
$db = "data";
#Connect to Server
$con = new Mysqli($servername, $user, $pw, $db) or die(Mysqli_errno());
$value =htmlspecialchars(stripslashes(trim($_POST["value"])));
$sql = $con->prepare("INSERT INTO tableName (value) VALUES ('$value')");
$result = $sql->execute();
if ($result) {
echo "Success";
}
else {
echo "Failed";
}
$con->close();
}
else {
echo "Not found";
}
?>
Také je třeba napsat flutter část, která dělá požadavek na http.post
void post() async {
var result = await http.post(
"http://{your url}/index.php",
body: {
"value": "Test DB Connection"
}
);
print(result.body);
}