Uma conexão direta com MySQL (ou qualquer outro banco de dados de acesso direto de clientes) não é uma boa ideia, exceto Firebase. node.js, php etc.). Com a API, você também pode fornecer um token para o cliente para acessar seus dados. Você pode fazer solicitações HTTP https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient-class.html .
Agora, se por algum motivo você ainda quiser se conectar diretamente ao MySQL, lembre-se de que qualquer aplicativo cliente pode acessar seu banco de dados com write permissão neste caso (e isso não é uma boa prática!) apenas para um exemplo de teste, você pode tentar criar um arquivo php:
// Exemplo de conexão e inserção de dados
<?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";
}
?>
Também precisa escrever a parte do flutter que faz o pedido no http.post
void post() async {
var result = await http.post(
"http://{your url}/index.php",
body: {
"value": "Test DB Connection"
}
);
print(result.body);
}