Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como conectar o flutter ao banco de dados mysql localhost


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);
}