sql >> Database >  >> RDS >> Mysql

Parse verbinden met externe database?

Als je zoiets als een gewone mysql-connector bedoelt, dan is het antwoord nee, dat kan niet. Op dit moment is de enige manier om te ontleden en iets anders met betrekking tot, het opvragen van en naar ontleden. Voor de duidelijkheid:

  • Als je een waarde wilt krijgen van Parse, die is opgeslagen in mysql, moet je een http-verzoek gebruiken voor een specifieke php-module die is opgeslagen op je php-website (en door jou is geïmplementeerd) die een of andere parameter verwacht, en het resultaat terugstuurt in een specifieke manier, normaal gesproken in json-indeling, waarbij ook de http-header application/json wordt gebruikt.

  • Als u een waarde uit php wilt halen, die is opgeslagen in de parse db, kunt u een REST-aanroep uitvoeren vanuit php volgens de specificaties op de parse-website ( https://parse.com/docs/rest/guide/ ), of gewoon met behulp van de php sdk ( https://github.com/ParsePlatform/parse- php-sdk ). Kijk ook eens naar de Parse Webhooks.

Van wat ik begreep, heb je al een werkende webservice, dus als je dit doet, zou je de bronnen die op je server op mysql zijn opgeslagen, via Parse naar je klanten sturen. Met andere woorden, u moet een Parse Cloud-functie maken voor elk type informatie dat u op de clients wilt ophalen met behulp van de Parse SDK (voor iOS of Android) en een andere Parse Colud-functie voor elke actie die u uitvoert op uw apparaten en die u wilt opslaan op uw mysql db, altijd via het Parse-systeem.

Mijn persoonlijke mening is om op Mysql te blijven, vooral omdat we op Parse nog steeds veel beperkingen hebben op de query's (geen groep op, geen duidelijke, query-time-out, enz.), Terwijl het een echt goede service lijkt te zijn voor de push kennisgeving. Hoe dan ook, dit hangt allemaal af van de complexiteit van uw software en zoals ik al zei, is slechts mijn mening.

[Bewerken]

Hier een voorbeeld:

Laten we in Parseer cloudcode een cloudfunctie maken met de naam 'get_user_info'

Parse.Cloud.define("get_user_info", 

function(request,response){

    // Parameters from client (iOS/Android app)
    var requestedUserId = request.params.user_id;

    // Calling beckend service for getting user information
    Parse.Cloud.httpRequest({
        method: "POST",        
        url: "https://www.yourPhpWebsite.com/getUser.php", /* This could be your url for the proper php module */
        body: { "php_param_user_id":requestedUserId }, /* Here you compose the body request for the http call, passing the php parameters and their values */
        success: function(httpResponse) {

        /* We expect that the php response is a Json string, using the header('application/json'), so: */
        var jsonResponse = JSON.parse(httpResponse.text);

        /* sample structure in jsonResponse: { "name":"Joe", "surname":"Banana", "birth_date":"01-02-1999" } */

        /* Do any additional stuff you need... */

        /* return the result to your iOS/Android client */
        return response.success( { "myRequestedUserInfo" : jsonResponse } );

        },
        error: function(httpResponse) {            
                return response.error({ "msg":"Unable to fetch this user", "code":123456 }); // sample error response            
        }
    });

});

De voorbeeldmodule 'getUser.php' kan zijn

<?php

$expectedUserId = $_POST['php_param_user_id'];

// query your MySql db using passed user id
$query = "SELECT name,surname,birth_date FROM MyUserTable Where id = ".$expectedUserId;

// perform your query (the above one is just an example, would be better to use PDO and any other check, just to avoid SQL Injection)
// ...
// ..
// .

$resultQuery = row[0];

// sample json structure
$jsonResponseToParse = '{ "name":'.resultQuery["name"].', "surname":'.resultQuery["surname"].', "birth_date":'.resultQuery["birth_date"].' }';

header('application/json');

echo jsonResponseToParse;

exit();

?>

Ik hoop dat het helpt




  1. MySQL:meerdere kolommen retourneren uit een in-line subquery

  2. Voer meerdere query's uit in één Oracle-opdracht in C#

  3. Dapper MySQL-retourwaarde

  4. Hoe kan ik automatisch een e-mailadres aanmaken voor mijn websiteleden?