En anslutning direkt till MySQL (eller någon annan databasåtkomst direkt från klienter) är inte en bra idé, förutom Firebase. Om du vill interagera med MySql db är en bättre lösning att skapa en serverapp och exponera något HTTP REST API (med node.js, php etc.). Med API:t kan du också tillhandahålla en token för klienten för att få åtkomst till dina data. Du kan göra HTTP-förfrågningar https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient-class.html .
Om du nu av någon anledning fortfarande vill ansluta direkt till MySQL, kom bara ihåg att alla klientapplikationer kan komma åt din DB med skriv tillåtelse i det här fallet (och detta är inte en bra praxis alls!) bara för ett testexempel kan du prova att skapa en php-fil:
// Anslut och infoga dataexempel
<?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";
}
?>
Behöver också skriva fladderdelen som gör förfrågan på http.post
void post() async {
var result = await http.post(
"http://{your url}/index.php",
body: {
"value": "Test DB Connection"
}
);
print(result.body);
}