sql >> データベース >  >> RDS >> Mysql

Parseを外部データベースに接続しますか?

    一般的なmysqlコネクタのようなものを意味する場合、応答はノーです。できません。現在、解析やその他の関係を作成する唯一の方法は、解析との間でクエリを実行することです。明確にするために:

    • mysqlに保存されているParseから値を取得する場合は、php Webサイトに保存されている(そしてあなたが実装した)特定のphpモジュールへのhttpリクエストを使用して、パラメーターを期待し、結果を特定の方法、通常はjson形式で、httpヘッダーapplication/jsonも使用します。

    • 解析データベースに保存されているphpから値を取得する場合は、解析Webサイト( https://parse.com/docs/rest/guide/ )、または単にphp sdk( https://github.com/ParsePlatform/parse- php-sdk )。 ParseWebhookもご覧ください。

    私が理解したところによると、あなたはすでに機能しているWebサービスを持っているので、これを行うには、サーバーにmysqlに格納されているリソースをParseを介してクライアントにプロキシするだけです。つまり、Parse SDK(iOSまたはAndroidの場合)を使用してクライアントで取得する情報の種類ごとにParse Cloud関数を作成し、デバイスで実行して保存するアクションごとに別のParseColud関数を作成する必要があります。 mysql dbで、常に解析システムを介して。

    私の個人的な意見は、Mysqlにとどまるということです。特に、Parseでは、クエリに多くの制限があります(グループ化なし、個別なし、クエリタイムアウトなど)が、プッシュには非常に優れたサービスのようです。通知。とにかく、これはすべてあなたのソフトウェアの複雑さに依存します、そして私が言ったように、それは私の意見です。

    [編集]

    ここに例があります:

    クラウドコードの解析で、「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            
            }
        });
    
    });
    

    サンプルの「getUser.php」モジュールは

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

    お役に立てば幸いです




    1. 挿入時のMySQLデータ検証

    2. LaravelEloquentとクエリビルダー-パフォーマンスを低下させるためにeloquentを使用する理由

    3. Debian9にMariaDBをインストールして保護する方法

    4. phppdoを使用してデータベースの行を削除します