sql >> Databasteknik >  >> RDS >> Mysql

Hur man ansluter flutter till localhost mysql-databas

En anslutning direkt till MySQL (eller någon annan databasåtkomst direkt från klienter) är inte en bra idé, förutom Firebase. Om du vill interagera med MySql db är en bättre lösning att skapa en serverapp och exponera något HTTP REST API (med node.js, php etc.). Med API:t kan du också tillhandahålla en token för klienten för att få åtkomst till dina data. Du kan göra HTTP-förfrågningar https://api.dartlang.org/stable/1.24.3/dart-io/HttpClient-class.html .

Om du nu av någon anledning fortfarande vill ansluta direkt till MySQL, kom bara ihåg att alla klientapplikationer kan komma åt din DB med skriv tillåtelse i det här fallet (och detta är inte en bra praxis alls!) bara för ett testexempel kan du prova att skapa en php-fil:

// Anslut och infoga dataexempel

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

Behöver också skriva fladderdelen som gör förfrågan på http.post

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



  1. Olaglig blandning av sammanställningar MySQL-fel

  2. Fundamentals of tabelluttryck, del 12 – Inline tabellvärderade funktioner

  3. DELETE FRÅN ATT HA COUNT(*) i MySQL

  4. Spara serbiska latinska tecken i databasen