sql >> Base de Datos >  >> RDS >> Mysql

Cómo conectar flutter a la base de datos localhost mysql

Una conexión directa a MySQL (o cualquier otro acceso a la base de datos directamente desde los clientes) no es una buena idea, excepto Firebase. Si desea interactuar con MySql db, una mejor solución es crear una aplicación de servidor y exponer alguna API REST HTTP (con node.js, php, etc.). Con la API, también puede proporcionar un token para que el cliente acceda a sus datos. Puede realizar solicitudes HTTP https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient-class.html .

Ahora, si por alguna razón aún desea conectarse directamente a MySQL, tenga en cuenta que cualquier aplicación cliente puede acceder a su base de datos con escribir permiso en este caso (¡y esto no es una buena práctica en absoluto!) solo como ejemplo de prueba, puede intentar crear un archivo php:

// Ejemplo de conexión e inserción de datos

<?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";
    } 
?>

También debe escribir la parte de aleteo que realiza la solicitud en http.post

void post() async {
    var result = await http.post(
        "http://{your url}/index.php",
         body: {
           "value": "Test DB Connection"
         }
    );
    print(result.body);
}