Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết nối Phân tích cú pháp với cơ sở dữ liệu bên ngoài?

Nếu bạn muốn nói một cái gì đó giống như một trình kết nối mysql thông thường, thì phản hồi là không, bạn không thể. Hiện tại, cách duy nhất để thực hiện phân tích cú pháp và một cái gì đó khác có liên quan, là truy vấn từ và đến Phân tích cú pháp. Để rõ ràng:

  • Nếu bạn muốn nhận một giá trị từ Phân tích cú pháp, được lưu trữ trong mysql, bạn phải sử dụng một yêu cầu http đến một mô-đun php cụ thể được lưu trữ trên trang web php của bạn (và do bạn triển khai) mong đợi một số tham số và trả về kết quả trong một theo cách cụ thể, thường ở định dạng json, cũng sử dụng ứng dụng tiêu đề http / json.

  • Nếu bạn muốn nhận một giá trị từ php, được lưu trữ trên db phân tích cú pháp, bạn có thể chạy lệnh gọi REST từ php theo thông số kỹ thuật trên trang web phân tích cú pháp (https://parse.com/docs/rest/guide/ ), hoặc chỉ cần sử dụng php sdk ( https://github.com/ParsePlatform/parse- php-sdk ). Cũng hãy xem phân tích cú pháp Webhooks.

Theo những gì tôi hiểu, bạn đã có một dịch vụ web đang hoạt động, vì vậy khi làm điều này, bạn sẽ chỉ ủy quyền các tài nguyên được lưu trữ trên máy chủ của bạn trên mysql cho khách hàng của bạn thông qua Phân tích cú pháp. Nói cách khác, bạn nên tạo chức năng Parse Cloud cho từng loại thông tin bạn muốn truy xuất trên các máy khách bằng cách sử dụng Parse SDK (dành cho iOS hoặc Android) và một chức năng Parse Colud khác cho mỗi hành động bạn thực hiện trên thiết bị của mình và bạn muốn lưu trên db mysql của bạn, luôn thông qua hệ thống Phân tích cú pháp.

Ý kiến ​​cá nhân của tôi là tiếp tục sử dụng Mysql, đặc biệt là vì trên Phân tích cú pháp, chúng tôi vẫn có nhiều hạn chế đối với các truy vấn (không nhóm theo, không phân biệt, hết thời gian chờ truy vấn, v.v.), trong khi dường như đây là một dịch vụ thực sự tốt cho việc thúc đẩy thông báo. Dù sao tất cả điều này phụ thuộc vào độ phức tạp của phần mềm của bạn và như tôi đã nói, chỉ là ý kiến ​​của tôi.

[Chỉnh sửa]

Đây là một ví dụ:

Trong phân tích cú pháp mã đám mây, hãy tạo một hàm đám mây có tên '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            
        }
    });

});

Mô-đun 'getUser.php' mẫu có thể là

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

?>

Hy vọng nó sẽ giúp




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chuyển dữ liệu web localStorage đã lưu sang tập lệnh php?

  2. Cách chèn thẻ vào cơ sở dữ liệu bằng jquery html và php

  3. Cập nhật bảng đã tham gia qua SQLAlchemy ORM sử dụng session.query

  4. Mọi bảng dẫn xuất phải có bí danh riêng - lỗi từ tổ hợp MySQL giảm dần

  5. Mysqli_error () không hoạt động