Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android

Tôi muốn chạy một ứng dụng web PHP MySQL trên thiết bị Android. Thiết bị không được root.

Không có cách nào khác ư? Nếu không có, thiết bị có thể kết nối với localhost của PC không?

Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android

Andrew T. ♦

12.7k9 Huy hiệu vàng62 Huy hiệu bạc106 Huy hiệu Đồng9 gold badges62 silver badges106 bronze badges

Hỏi ngày 14 tháng 10 năm 2017 lúc 3:46Oct 14, 2017 at 3:46

1

Cập nhật kể từ ngày 2 tháng 6 năm 2021

Tùy chọn số 1 (sử dụng APK dựa trên CLI) Tùy chọn tốt nhất
BEST OPTION

  1. Termux (Cài đặt các gói PHP, MARIADB, PHPMyAdmin trong Termux)
  2. Trình giả lập thiết bị đầu cuối
  3. Người dùng

Tùy chọn #2 (sử dụng APK dựa trên GUI)

  1. Ksweb
  2. Máy chủ cuối cùng


Summary:

  • Các APK được đề cập ở trên không yêu cầu thiết bị gốc.
  • Các APK dựa trên CLI rất được khuyến khích vì người dùng có thể sử dụng phiên bản cập nhật của PHP, Apache và bất kỳ gói nào khác bạn muốn cài đặt. APK KickWeb hỗ trợ chạy các tệp .PHP, nhưng thật không may, nó không có phiên bản PHP mới nhất. Sử dụng phiên bản O -dế của PHP tạo ra một số mã PHP của bạn để ném lỗi hoặc cảnh báo, v.v. are highly recommended because a user can use UPDATED version of PHP, Apache, and any other packages you want to install to. The KickWeb apk does support running .php files BUT ,unfortunately, it doesn't have the latest PHP VERSION. Using an outdated version of PHP makes some of your PHP code to throw errors or warnings etc.

Đã trả lời ngày 2 tháng 6 năm 2021 lúc 2:28Jun 2, 2021 at 2:28

Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android

0

Tôi đã thử KickWeb Server và nó hoạt động như mong đợi.

Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android

Firelord ♦

23.7K19 Huy hiệu vàng116 Huy hiệu bạc265 Huy hiệu Đồng19 gold badges116 silver badges265 bronze badges

Đã trả lời ngày 14 tháng 10 năm 2017 lúc 4:04Oct 14, 2017 at 4:04

Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android

Bạn phải đăng nhập để trả lời câu hỏi này.

Không phải là câu trả lời bạn đang tìm kiếm? Duyệt những câu hỏi khác được gắn thẻ.

Đăng nhập và đăng ký Android là các kịch bản rất phổ biến. Bạn sẽ tìm thấy hoạt động đăng ký và đăng nhập trong tất cả các ứng dụng mà chúng tôi muốn thông tin người dùng. Trong hướng dẫn này, chúng tôi sẽ thiết lập một máy chủ web cục bộ và cơ sở dữ liệu MySQL. Chúng tôi sẽ phát triển ứng dụng đăng nhập và đăng ký Android. Chúng tôi sẽ sử dụng tập lệnh PHP để kết nối với cơ sở dữ liệu MySQL.

Đăng ký đăng nhập Android

Bước đầu tiên là tạo máy chủ web phụ trợ. Tôi đang làm việc trên Mac OS X và XAMPP có thể được sử dụng để thiết lập một máy chủ web Apache cục bộ và cơ sở dữ liệu MySQL một cách nhanh chóng.

Thiết lập máy chủ XAMPP

XAMPP (hoặc WAMP) là một phần mềm cài đặt một cú nhấp chuột tạo ra môi trường để phát triển ứng dụng web PHP, MySQL (mà chúng tôi sẽ kết nối với ứng dụng Android của chúng tôi). Tải xuống và cài đặt XAMPP từ đây. Khởi chạy ứng dụng XAMPP sau khi cài đặt và bạn sẽ được chào đón với màn hình bên dưới. Bạn có thể kiểm tra máy chủ của mình bằng cách mở

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
3. Màn hình sau sẽ xuất hiện. Ngoài ra, bạn có thể kiểm tra phpmyadmin bằng cách mở
CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
4. Hãy để xem những gì nó cho thấy! ỐI! Bạn có thể kết thúc với một màn hình như thế này. Có vẻ như máy chủ MySQL không chạy đúng. Chuyển đến tab Quản lý máy chủ trong ứng dụng XAMPP và nhấp vào Khởi động lại tất cả. Các máy chủ nên được chạy đúng như trong hình dưới đây. Bây giờ hãy kiểm tra phpmyadmin trong localhost và bạn sẽ kết thúc với một màn hình tương tự như thế này. Bây giờ, hãy để thử nghiệm một tập lệnh PHP mẫu. Tạo một tệp
CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
5 mới và thêm các dòng sau vào nó.
Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
You can test your server by opening
CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
3. The following screen should appear.
Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
Also, you can check phpMyAdmin by opening
CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
4. Let’s see what it shows!
Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
OOPS! You might end up with a screen like this. Seems like the MySQL server isn’t properly running. Go To the Manage Servers tab in the XAMPP application and click restart all. The servers should be running properly as seen in the image below.
Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
Now test phpMyAdmin in the localhost and you’ll end up with a screen similar to this.
Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
Now let’s test a sample php script. Create a new
CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
5 file and add the following lines into it.


Trong mã trên:

  • ? PHP bắt đầu mở thẻ cho bất kỳ tập lệnh PHP. starts opening tag for any PHP script.
  • ?> có nghĩa là đóng thẻ như đóng khung trong java. means closing tag like closing bracket in Java.

Lưu ý: Biết PHP không bắt buộc cho hướng dẫn này. Nếu bạn sử dụng máy Mac thì các ứng dụng goto-> xampp-> htdocs. Tạo một thư mục mới ở đây cho phép nói test_android và sao chép dán test.php đã được tạo trước đó. Bây giờ hãy mở URL

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
6, bạn sẽ kết thúc với một màn hình như thế này:test_android and copy paste the test.php that was created before. Now open the url
CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
6 You’ll end up with a screen like this:
Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android

Thiết lập cơ sở dữ liệu MySQL

Mở phpmyadmin bằng cách truy cập

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
4. Bây giờ, chọn tab cơ sở dữ liệu mà trên cùng bên trái của hàng tiêu đề. Đặt một tên ngẫu nhiên và tạo nó. Cơ sở dữ liệu trống mới được tạo sẽ được hiển thị trong thanh bên trái. Hãy để tạo ra một bảng người dùng trong cơ sở dữ liệu mới được tạo. Chạy truy vấn sau trong bảng điều khiển
Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
Let’s create a users table in the newly created Database. Run the following query in the console

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)

Nếu bảng được tạo thành công, bạn sẽ kết thúc với một màn hình tương tự như thế này:

Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android

Kết nối PHP với cơ sở dữ liệu MySQL

Để kết nối tập lệnh PHP với cơ sở dữ liệu MySQL, ba giá trị đầu vào được yêu cầu. Sau đây là các đầu vào và có giá trị mặc định cho máy chủ XAMPP

  • Tên máy chủ: Localhost
  • Tên người dùng MySQL: Root
  • Mật khẩu MySQL: Nó trống. "

Hãy để tạo tập lệnh Test-Connect.php và thêm nó vào thư mục HTDOCS-> Test-Android.

Connected to MySQL';
} else {
    echo '

MySQL Server is not connected

'; } ?>

mysql_connect () là hàm sẵn có của PHP để kết nối với cơ sở dữ liệu MySQL với các tham số được liệt kê ở trên. Hãy thử chạy

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
8 và xem đầu ra. Nếu nó không được kết nối, thì hãy thử khởi động lại các máy chủ XAMPP. is a PHP’s inbuilt function to connect to MySQL database with the parameters listed above. Try running
CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
8 and see the output. If it’s not connected, then try restarting the XAMPP servers.

Ứng dụng đăng ký đăng nhập Android

Bây giờ chúng tôi đã thảo luận về thiết lập cơ bản của PHP và MySQL, hãy để Lừa vào phần ứng dụng đăng nhập Android. Chúng tôi sẽ phát triển một ứng dụng đăng nhập/đăng ký. Để giữ cho nó ngắn gọn và đơn giản, chúng tôi sẽ kiểm tra xem tên người dùng và email là duy nhất trong quá trình đăng ký. Trước khi chúng tôi nhảy vào logic ứng dụng, hãy để hoạt động trên các tập lệnh PHP và cơ sở dữ liệu MySQL. Đầu tiên, hãy để người dùng bỏ bảng và tạo một cái mới trong bối cảnh của ứng dụng trên.

CREATE TABLE IF NOT EXISTS `firstDB`.`users` (
`id` int(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` varchar(70) NOT NULL,
`password` varchar(40) NOT NULL,
`email` varchar(50) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime DEFAULT NULL

)

Sau đây là các tập lệnh PHP mà bạn có thể sao chép dán trong thư mục HTDOCS-> test_android.

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
9


Tập lệnh cho kết nối cơ sở dữ liệu được đưa ra dưới đây.

Connected to MySQL';
} else {
    echo '

MySQL Server is not connected

'; } ?>
0

connect = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
            
            if (mysqli_connect_errno($this->connect)){
                echo "Unable to connect to MySQL Database: " . mysqli_connect_error();
            }
        }
        
        public function getDb(){
            return $this->connect;
        }
    }
    ?>

Tập lệnh sau đây chứa tất cả các chức năng cốt lõi của ứng dụng.

Connected to MySQL';
} else {
    echo '

MySQL Server is not connected

'; } ?>
1

db = new DbConnect();
        }
        
        public function isLoginExist($username, $password){
            
            $query = "select * from ".$this->db_table." where username = '$username' AND password = '$password' Limit 1";
            
            $result = mysqli_query($this->db->getDb(), $query);
            
            if(mysqli_num_rows($result) > 0){
                
                mysqli_close($this->db->getDb());
                
                
                return true;
                
            }
            
            mysqli_close($this->db->getDb());
            
            return false;
            
        }
        
        public function isEmailUsernameExist($username, $email){
            
            $query = "select * from ".$this->db_table." where username = '$username' AND email = '$email'";
            
            $result = mysqli_query($this->db->getDb(), $query);
            
            if(mysqli_num_rows($result) > 0){
                
                mysqli_close($this->db->getDb());
                
                return true;
                
            }
               
            return false;
            
        }
        
        public function isValidEmail($email){
            return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
        }
        
        public function createNewRegisterUser($username, $password, $email){
              
            $isExisting = $this->isEmailUsernameExist($username, $email);
            
            if($isExisting){
                
                $json['success'] = 0;
                $json['message'] = "Error in registering. Probably the username/email already exists";
            }
            
            else{
                
            $isValid = $this->isValidEmail($email);
                
                if($isValid)
                {
                $query = "insert into ".$this->db_table." (username, password, email, created_at, updated_at) values ('$username', '$password', '$email', NOW(), NOW())";
                
                $inserted = mysqli_query($this->db->getDb(), $query);
                
                if($inserted == 1){
                    
                    $json['success'] = 1;
                    $json['message'] = "Successfully registered the user";
                    
                }else{
                    
                    $json['success'] = 0;
                    $json['message'] = "Error in registering. Probably the username/email already exists";
                    
                }
                
                mysqli_close($this->db->getDb());
                }
                else{
                    $json['success'] = 0;
                    $json['message'] = "Error in registering. Email Address is not valid";
                }
                
            }
            
            return $json;
            
        }
        
        public function loginUsers($username, $password){
            
            $json = array();
            
            $canUserLogin = $this->isLoginExist($username, $password);
            
            if($canUserLogin){
                
                $json['success'] = 1;
                $json['message'] = "Successfully logged in";
                
            }else{
                $json['success'] = 0;
                $json['message'] = "Incorrect details";
            }
            return $json;
        }
    }
    ?>

Trong mã trên, $ JSON chứa JSONObjects được trả về. Tập lệnh PHP sau đây là bản tập được gọi là đầu tiên từ ứng dụng.

Connected to MySQL';
} else {
    echo '

MySQL Server is not connected

'; } ?>
2

createNewRegisterUser($username, $hashed_password, $email);
        
        echo json_encode($json_registration);
        
    }
    
    // Login
    
    if(!empty($username) && !empty($password) && empty($email)){
        
        $hashed_password = md5($password);
        
        $json_array = $userObject->loginUsers($username, $hashed_password);
        
        echo json_encode($json_array);
    }
    ?>

Trong mã trên, chúng tôi kiểm tra xem trường email có trống hay không. Nếu đúng như vậy, chúng tôi sẽ gọi chức năng đăng nhập trong tập lệnh PHP, nếu không chúng tôi sẽ đi đến chức năng đăng ký. Phản hồi JSON trả về hai params: thành công (0 hoặc 1) và tin nhắn.success(0 or 1) and the message.

  • Hàm
    Connected to MySQL';
    } else {
        echo '

    MySQL Server is not connected

    '; } ?>
    3 sử dụng thuật toán kỹ thuật số tin nhắn MD5 Data Security, Inc. MD5 để tạo chuỗi băm của mật khẩu.
  • Để kiểm tra xem địa chỉ email có hợp lệ, chúng tôi đã thực hiện phương thức
    Connected to MySQL';
    } else {
        echo '

    MySQL Server is not connected

    '; } ?>
    4 không. Filter_Validate_Email hoạt động trên Php phiên bản 5.2.0+FILTER_VALIDATE_EMAIL works on PHP versions 5.2.0+

Cấu trúc dự án đăng ký đăng nhập Android

Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
Trong dự án này, chúng tôi đã sử dụng ba LIB để thực hiện các cuộc gọi HTTP trong ứng dụng của chúng tôi. Lớp JsonParser được sử dụng để thực hiện bài đăng và nhận các cuộc gọi HTTP đến Localhost và trả lại phản hồi dưới dạng JSONObject.

Mã đăng ký đăng nhập Android

Bố cục

Connected to MySQL';
} else {
    echo '

MySQL Server is not connected

'; } ?>
5 được xác định dưới đây.




    

        

                

                

                

            

Các chính hoạt động được đưa ra dưới đây.

package com.journaldev.loginphpmysql;

import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {


    EditText editEmail, editPassword, editName;
    Button btnSignIn, btnRegister;

    String URL= "https://10.0.3.2/test_android/index.php";

    JSONParser jsonParser=new JSONParser();

    int i=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editEmail=(EditText)findViewById(R.id.editEmail);
        editName=(EditText)findViewById(R.id.editName);
        editPassword=(EditText)findViewById(R.id.editPassword);

        btnSignIn=(Button)findViewById(R.id.btnSignIn);
        btnRegister=(Button)findViewById(R.id.btnRegister);

        btnSignIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AttemptLogin attemptLogin= new AttemptLogin();
                attemptLogin.execute(editName.getText().toString(),editPassword.getText().toString(),"");
            }
        });

        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if(i==0)
                {
                    i=1;
                    editEmail.setVisibility(View.VISIBLE);
                    btnSignIn.setVisibility(View.GONE);
                    btnRegister.setText("CREATE ACCOUNT");
                }
                else{

                    btnRegister.setText("REGISTER");
                    editEmail.setVisibility(View.GONE);
                    btnSignIn.setVisibility(View.VISIBLE);
                    i=0;

                    AttemptLogin attemptLogin= new AttemptLogin();
                    attemptLogin.execute(editName.getText().toString(),editPassword.getText().toString(),editEmail.getText().toString());

                }

            }
        });


    }

    private class AttemptLogin extends AsyncTask {

        @Override

        protected void onPreExecute() {

            super.onPreExecute();

        }

        @Override

        protected JSONObject doInBackground(String... args) {



            String email = args[2];
            String password = args[1];
            String name= args[0];

            ArrayList params = new ArrayList();
            params.add(new BasicNameValuePair("username", name));
            params.add(new BasicNameValuePair("password", password));
            if(email.length()>0)
            params.add(new BasicNameValuePair("email",email));

            JSONObject json = jsonParser.makeHttpRequest(URL, "POST", params);


            return json;

        }

        protected void onPostExecute(JSONObject result) {

            // dismiss the dialog once product deleted
            //Toast.makeText(getApplicationContext(),result,Toast.LENGTH_LONG).show();

            try {
                if (result != null) {
                    Toast.makeText(getApplicationContext(),result.getString("message"),Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(getApplicationContext(), "Unable to retrieve any data from server", Toast.LENGTH_LONG).show();
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }


        }

    }
}

Đó là một mã khá lớn! Hãy cùng rút ra những suy luận quan trọng từ mã trên.

  1. https://10.0.3.2 là địa chỉ định tuyến lại localhost. Địa chỉ này hoạt động độc quyền nếu bạn sử dụng trình giả lập Genymotion. Sử dụng https://10.0.2.2 cho trình giả lập AVD được cải thiện nhiều. Nếu bạn đang chạy ứng dụng trên thiết bị của riêng bạn bằng địa chỉ WiFi máy tính của bạn. Ví dụ: https://192.168.0.143.Genymotion emulator. Use https://10.0.2.2 for the AVD Emulator which is much improved now. If you’re running the application on your own device using your computer’s WIFI address instead. Example: https://192.168.0.143.
  2. Khi nút đăng ký được nhấp, thay vào đó, chúng tôi lập trình lại nút đăng nhập và hiển thị trường văn bản đầu vào địa chỉ email.
  3. Lớp nỗ lực thực hiện các yêu cầu HTTP mạng đến Localhost của chúng tôi trong nền. Mật khẩu tên người dùng và các tham số email được thêm vào một danh sách mảng được truyền trong phương thức makeHttprequest (url, post post, params); của lớp JsonParser.makeHttpRequest(URL, “POST”, params); of the JSONParser class.
  4. Trong phương thức OnPostexecute, chúng tôi hiển thị chuỗi tin nhắn được trả về từ máy chủ trong tin nhắn bánh mì nướng.onPostExecute Method we display the message string returned from the server in a Toast message.

Lớp

Connected to MySQL';
} else {
    echo '

MySQL Server is not connected

'; } ?>
6 được đưa ra dưới đây.

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
0

Trong mã trên, chúng tôi gọi các lớp tương ứng httppost hoặc httpget tùy thuộc vào tham số thứ hai mà Lừa đã truyền trong hàm makehttprequest.HTTPPost or HTTPGet depending on the the second parameter that’s passed in the makeHttpRequest function.

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
1

Ở trên, chúng tôi đang nối thêm mã trạng thái phản hồi được trả về từ máy chủ trong JSONObject cuối cùng mà Lôi đã trả lại cho lớp chính. Lưu ý: Don Tiết quên thêm các quyền sau trong tệp androidmanifest.xml của bạn.

CREATE TABLE  `firstDB`.`users` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 20 ) NOT NULL ,
    `password` VARCHAR( 20 ) NOT NULL
)
2

Nhiều người dùng đã đăng bình luận của họ ở dưới cùng của hướng dẫn này, nói rằng họ đã nhận được một cách không thể truy xuất bánh mì nướng dữ liệu. Xin lưu ý rằng vì Android 6.0 trở lên, bạn cần thêm thuộc tính sau trong thẻ ứng dụng của mình trong tệp kê khai.xml:

Connected to MySQL';
} else {
    echo '

MySQL Server is not connected

'; } ?>
7 Tại sao như vậy? Để cho phép bảo mật mạng của trình giả lập/thiết bị thực hiện các cuộc gọi HTTP. Vui lòng kiểm tra đầu ra với các màn hình mới nhất từ ​​trình giả lập Android Q bên dưới. Mã nguồn nhất với các thay đổi trong tệp AndroidManifest.xml được cập nhật trong liên kết và kho lưu trữ GitHub của chúng tôi.Please check the output with the latest screengrabs from Android Q emulator below. Latest source code with the changes in the AndroidManifest.xml file is updated in the link and our Github Repository.

Đầu ra của ứng dụng trong hành động được đưa ra dưới đây.

Người dùng đăng ký Android

Trong ScreenGrab bên dưới, chúng tôi đăng ký một người dùng mới và nó được thêm vào cơ sở dữ liệu. Sau đó, chúng tôi đăng nhập bằng thông tin đăng ký trong quá trình đăng ký.

Hướng dẫn how to run php and mysql on android - cách chạy php và mysql trên android
Đăng nhập Android với đầu ra cuối cùng của PHP MySQL

Điều này mang lại kết thúc cho việc đăng nhập Android với hướng dẫn PHP MySQL. Bạn có thể tải xuống dự án từ liên kết dưới đây. Nó chứa thư mục Test_Android cũng giữ các tệp PHP. Sao chép nó vào thư mục XAMPP-> HTDOCS! Chúc may mắn.Android Login with PHP MySQL Tutorial. You can download the project from the link below. It contains the test_android folder too that holds the PHP files. Copy it into the xampp->htdocs folder! Good Luck.

Tải xuống Đăng ký đăng nhập Android Php MySQL Project

Bạn cũng có thể truy cập mã nguồn đầy đủ từ kho lưu trữ GitHub của chúng tôi bên dưới:

Liên kết dự án GitHub

Làm cách nào để chạy tệp PHP trong thiết bị di động Android?

Cài đặt PHP trên Android OS Bước 1: Cài đặt ứng dụng Termux trên thiết bị của bạn. Bước 2: Sau khi cài đặt ứng dụng, bạn sẽ thấy một dấu hiệu $ $. Nhập cập nhật APT và nhấn phím Enter trên bàn phím của bạn. Bước 3: Sau đó, bạn sẽ gặp lại dấu hiệu $.Step 1: Install the Termux app on your device. Step 2: After installation of the app, you will see a “$” sign. Type apt update and press the enter key on your keyboard. Step 3: After that, you will see the $ sign again.

Chúng ta có thể tạo ứng dụng Android bằng PHP và MySQL không?

Phát triển ứng dụng Android cho người mới bắt đầu MySQL được sử dụng làm cơ sở dữ liệu tại WebServer và PHP được sử dụng để tìm nạp dữ liệu từ cơ sở dữ liệu. Ứng dụng của chúng tôi sẽ liên lạc với trang PHP với các tham số cần thiết và PHP sẽ liên hệ với cơ sở dữ liệu MySQL và sẽ lấy kết quả và trả lại kết quả cho chúng tôi.MYSQL is used as a database at the webserver and PHP is used to fetch data from the database. Our application will communicate with the PHP page with necessary parameters and PHP will contact MYSQL database and will fetch the result and return the results to us.

Android có thể chạy PHP không?

Nếu bạn muốn chạy PHP trên thiết bị cục bộ của mình, trước hết, hãy cài đặt một trong các máy chủ web với PHP từ Google Play: Ulti Server: PHP, MySQL, PMA (đã thử nghiệm) KSWEB: Server + PHP + MySQL.Máy chủ PAW cho Android.install one of web servers with PHP from google play: Ulti Server: PHP, MySQL, PMA (Tested) KSWEB: server + PHP + MySQL. PAW Server for Android.

Làm cách nào để chạy trang web PHP trên điện thoại của mình?

Để sử dụng nó, cài đặt ứng dụng và sao chép các tệp PHP / HTML của bạn vào điện thoại của bạn.Theo mặc định, ứng dụng sử dụng/sdcard/pws/www/, vì vậy nếu bạn đặt các tệp của mình ở đó, nó sẽ chọn chúng.Sau đó, khởi chạy ứng dụng, nhấp vào "Bắt đầu máy chủ" và truy cập http://127.0.0.1:8080 với trình duyệt web của bạn trên thiết bị Android của bạn và nó sẽ hoạt động.install the app, and copy your PHP / HTML files onto your phone. By default, the app uses /sdcard/pws/www/ , so if you put your files there, it should pick them up. Then, launch the app, click "Start server", and go to http://127.0.0.1:8080 with your web browser on your android device, and it should work.