sql >> Databáze >  >> RDS >> Mysql

Jak připojit flutter k databázi localhost mysql

Připojení přímo k MySQL (nebo jakýkoli jiný databázový přístup přímo od klientů) není dobrý nápad, kromě Firebase. Pokud chcete komunikovat s MySql db, je lepším řešením vytvořit serverovou aplikaci a vystavit nějaké HTTP REST API (s node.js, php atd.). Pomocí API můžete také poskytnout token pro klienta pro přístup k vašim datům. Můžete zadávat HTTP požadavky https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient-class.html .

Pokud se nyní z jakéhokoli důvodu stále chcete připojit přímo k MySQL, mějte na paměti, že jakákoli klientská aplikace může přistupovat k vaší databázi pomocí write povolení v tomto případě (a to není vůbec dobrý postup!), jen pro testovací příklad můžete zkusit vytvořit soubor php:

// Příklad připojení a vložení dat

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

Také je třeba napsat flutter část, která dělá požadavek na http.post

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



  1. Java Multicast Time To Live je vždy 0

  2. MySQL Seznam všech duplikátů

  3. Automatické generování souboru odpovědí

  4. Automatické zvýšení sloupce tabulky