Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Połączyć Parse z zewnętrzną bazą danych?

Jeśli masz na myśli coś w rodzaju zwykłego złącza mysql, to odpowiedź brzmi:nie, nie możesz. Obecnie jedynym sposobem na zrobienie parsowania i czegoś innego w związku jest zapytanie od i do Parse. Aby było jasne:

  • Jeśli chcesz uzyskać wartość z Parse, która jest przechowywana w mysql, musisz użyć żądania http do określonego modułu php przechowywanego na Twojej stronie php (i zaimplementowanego przez Ciebie), które oczekuje jakiegoś parametru i zwraca wynik w postaci specyficzny sposób, zwykle w formacie json, używając również aplikacji nagłówka http/json.

  • Jeśli chcesz uzyskać wartość z php, która jest przechowywana w bazie danych analizy, możesz uruchomić wywołanie REST z php zgodnie ze specyfikacją na stronie analizy ( https://parse.com/docs/rest/guide/ ) lub po prostu za pomocą sdk php ( https://github.com/ParsePlatform/parse- php-sdk ). Spójrz także na Parse Webhooks.

Z tego, co zrozumiałem, masz już działającą usługę sieciową, więc robiąc to, po prostu przekażesz zasoby przechowywane na twoim serwerze na mysql swoim klientom poprzez Parse. Innymi słowy, powinieneś utworzyć funkcję Parse Cloud dla każdego typu informacji, które chcesz pobrać na klientach za pomocą Parse SDK (dla systemu iOS lub Android) oraz inną funkcję Parse Colud dla każdej akcji, którą wykonujesz na swoich urządzeniach i chcesz zapisać na twojej bazie danych mysql, zawsze przez system Parse.

Osobiście uważam, że należy pozostać na Mysql, zwłaszcza, że ​​na Parse nadal mamy wiele ograniczeń dotyczących zapytań (brak grupowania, brak wyróżniania, limit czasu zapytania itp.), podczas gdy wydaje się, że jest to naprawdę dobra usługa dla push powiadomienie. W każdym razie wszystko to zależy od złożoności twojego oprogramowania i jak powiedziałem, to tylko moja opinia.

[Edytuj]

Oto przykład:

W Parse cloud code stwórzmy funkcję chmury o nazwie „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            
        }
    });

});

Przykładowy moduł „getUser.php” może być

<?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();

?>

Mam nadzieję, że to pomoże




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Manipulowanie danymi utf8mb4 z MySQL za pomocą PHP

  2. PHP Wiązanie symbolu wieloznacznego

  3. jak włączyć automatyczne ponowne łączenie bazy danych w PHP?

  4. zapytanie php dla szerokości i długości geograficznej iOS nie wyszukuje pobliskiego mysql lat i lon z wyjściem xml

  5. Laravel/ PHP:Sortuj alfabetycznie z numerami w kolejności