En forbindelse direkte til MySQL (eller enhver anden databaseadgang direkte fra klienter) er ikke en god idé, undtagen Firebase. Hvis du vil interagere med MySql db, er en bedre løsning at oprette en server-app og afsløre noget HTTP REST API (med node.js, php osv.). Med API'en kan du også levere et token til klienten for at få adgang til dine data. Du kan lave HTTP-anmodninger https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient-class.html .
Hvis du af en eller anden grund stadig vil oprette forbindelse direkte til MySQL, skal du bare huske på, at enhver klientapplikation kan få adgang til din DB med skriv tilladelse i dette tilfælde (og det er slet ikke en god praksis!) bare for et testeksempel kan du prøve at oprette en php-fil:
// Forbind og indsæt dataeksempel
<?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";
}
?>
Skal også skrive den flagrende del, der laver anmodningen, på http.post
void post() async {
var result = await http.post(
"http://{your url}/index.php",
body: {
"value": "Test DB Connection"
}
);
print(result.body);
}