Hướng dẫn run php mysql on android - chạy php mysql trên android


Trong chương này, chúng tôi sẽ giải thích, làm thế nào bạn có thể tích hợp PHP và MySQL với ứng dụng Android của bạn. Điều này rất hữu ích trong trường hợp bạn có máy chủ web và bạn muốn truy cập dữ liệu của nó trên ứng dụng Android của mình.

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.

PHP - MySQL

Tạo cơ sở dữ liệu

Cơ sở dữ liệu MySQL có thể được tạo dễ dàng bằng cách sử dụng tập lệnh đơn giản này. Tuyên bố tạo cơ sở dữ liệu tạo cơ sở dữ liệu.CREATE DATABASE statement creates the database.

<?php
   $con=mysqli_connect("example.com","username","password");
   $sql="CREATE DATABASE my_db";
   if (mysqli_query($con,$sql)) {
      echo "Database my_db created successfully";
   }
?>

Tạo bảng

Khi cơ sở dữ liệu được tạo, thời gian của nó để tạo một số bảng trong cơ sở dữ liệu. Câu lệnh CREATE TABLE tạo cơ sở dữ liệu.CREATE TABLE statement creates the database.

<?php
   $con=mysqli_connect("example.com","username","password","my_db");
   $sql="CREATE TABLE table1(Username CHAR(30),Password CHAR(30),Role CHAR(30))";
   if (mysqli_query($con,$sql)) {
      echo "Table have been created successfully";
   }
?>

Chèn các giá trị vào bảng

Khi cơ sở dữ liệu và bảng được tạo. Bây giờ là lúc để chèn một số dữ liệu vào các bảng. Việc chèn vào câu lệnh tạo cơ sở dữ liệu.Insert Into statement creates the database.

<?php
   $con=mysqli_connect("example.com","username","password","my_db");
   $sql="INSERT INTO table1 (FirstName, LastName, Age) VALUES ('admin', 'admin','adminstrator')";
   if (mysqli_query($con,$sql)) {
      echo "Values have been inserted successfully";
   }
?>

PHP - Nhận và đăng phương thức

PHP cũng được sử dụng để tìm nạp bản ghi từ cơ sở dữ liệu MySQL sau khi nó được tạo. Để tìm nạp bản ghi một số thông tin phải được chuyển đến trang PHP liên quan đến bản ghi nào sẽ được tìm nạp.

Phương pháp đầu tiên để truyền thông tin là thông qua phương thức GET trong đó lệnh $ _GET được sử dụng. Các biến được truyền trong URL và bản ghi được tìm nạp. Cú pháp của nó được đưa ra dưới đây -$_GET command is used. The variables are passed in the url and the record is fetched. Its syntax is given below −

<?php
   $con=mysqli_connect("example.com","username","password","database name");

   if (mysqli_connect_errno($con)) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }

   $username = $_GET['username'];
   $password = $_GET['password'];
   $result = mysqli_query($con,"SELECT Role FROM table1 where Username='$username' 
      and Password='$password'");
   $row = mysqli_fetch_array($result);
   $data = $row[0];

   if($data){
      echo $data;
   }
   mysqli_close($con);
?>

Phương pháp thứ hai là sử dụng phương thức bài. Thay đổi duy nhất trong tập lệnh trên là thay thế $ _get bằng $ _POST. Trong phương pháp bài, các biến không được truyền qua URL.$_POST. In Post method, the variables are not passed through URL.

Android - Kết nối MySQL

Kết nối qua phương thức Get

Có hai cách để kết nối với MySQL qua trang PHP. Cái đầu tiên được gọi là phương thức Get. Chúng tôi sẽ sử dụng lớp httpget và httpclient để kết nối. Cú pháp của họ được đưa ra dưới đây -Get method. We will use HttpGet and HttpClient class to connect. Their syntax is given below −

URL url = new URL(link);
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(link));

Sau đó, bạn cần gọi phương thức thực thi của lớp httpclient và nhận nó trong một đối tượng httpresponse. Sau đó, bạn cần mở các luồng để nhận dữ liệu.execute method of HttpClient class and receive it in a HttpResponse object. After that you need to open streams to receive the data.

HttpResponse response = client.execute(request);
BufferedReader in = new BufferedReader
(new InputStreamReader(response.getEntity().getContent()));

Kết nối qua phương thức bài

Trong phương thức POST, lớp urlencoder, urlconnection sẽ được sử dụng. URLENCODER sẽ mã hóa thông tin của các biến số. Đó là cú pháp được đưa ra dưới đây -URLEncoder,URLConnection class will be used. The urlencoder will encode the information of the passing variables. It's syntax is given below −

URL url = new URL(link);
String data  = URLEncoder.encode("username", "UTF-8") 
+ "=" + URLEncoder.encode(username, "UTF-8");
data += "&" + URLEncoder.encode("password", "UTF-8") 
+ "=" + URLEncoder.encode(password, "UTF-8");
URLConnection conn = url.openConnection(); 

Điều cuối cùng bạn cần làm là viết dữ liệu này vào liên kết. Sau khi viết, bạn cần mở luồng để nhận dữ liệu đã trả lời.

OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
wr.write( data ); 
BufferedReader reader = new BufferedReader(new 
InputStreamReader(conn.getInputStream()));			

Thí dụ

Ví dụ dưới đây là một ví dụ hoàn chỉnh về việc kết nối ứng dụng Android của bạn với cơ sở dữ liệu MySQL thông qua trang PHP. Nó tạo ra một ứng dụng cơ bản cho phép bạn đăng nhập bằng phương thức GET và POST.

PHP - Phần MySQL

Trong ví dụ này, một cơ sở dữ liệu có tên của TEMP đã được tạo tại 000WebHost.com. Trong cơ sở dữ liệu đó, một bảng đã được tạo với tên của Bảng1. Bảng này có ba lĩnh vực. (Tên người dùng, mật khẩu, vai trò). Bảng chỉ có một bản ghi là ("Quản trị viên", "Quản trị viên", "Quản trị viên").

Trang PHP đã được đưa ra dưới đây có các tham số theo phương thức POST.

<?php
   $con=mysqli_connect("mysql10.000webhost.com","username","password","db_name");

   if (mysqli_connect_errno($con)) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }
	
   $username = $_POST['username'];
   $password = $_POST['password'];
   $result = mysqli_query($con,"SELECT Role FROM table1 where 
   Username='$username' and Password='$password'");
   $row = mysqli_fetch_array($result);
   $data = $row[0];

   if($data){
      echo $data;
   }
	
   mysqli_close($con);
?>

Phần Android

Để thử nghiệm ví dụ này, bạn cần chạy điều này trên một thiết bị thực tế trên đó internet wifi được kết nối.

Các bướcSự mô tả
1 Bạn sẽ sử dụng Android Studio IDE để tạo một ứng dụng Android và đặt tên cho nó là PHPMysQL theo gói com.example.phpmysql.
2 Sửa đổi tệp src/mainactivity.java để thêm mã hoạt động.
3 Tạo tệp src/siginactivity.java để thêm mã PHPMysQL.
4 Sửa đổi Layout Tệp XML Res/Layout/Activity_Main.xml Thêm bất kỳ thành phần GUI nào nếu được yêu cầu.
5 Sửa đổi tệp res/value/string.xml và thêm các thành phần chuỗi cần thiết.
6 Sửa đổi AndroidManifest.xml để thêm các quyền cần thiết.
7 Chạy ứng dụng và chọn thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả.

Dưới đây là nội dung của src/com.example.phpmysql/mainactivity.java.src/com.example.phpmysql/MainActivity.java.

package com.example.phpmysql;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

   private EditText usernameField,passwordField;
   private TextView status,role,method;

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

      usernameField = (EditText)findViewById(R.id.editText1);
      passwordField = (EditText)findViewById(R.id.editText2);

      status = (TextView)findViewById(R.id.textView6);
      role = (TextView)findViewById(R.id.textView7);
      method = (TextView)findViewById(R.id.textView9);
   }



   public void login(View view){
      String username = usernameField.getText().toString();
      String password = passwordField.getText().toString();
      method.setText("Get Method");
      new SigninActivity(this,status,role,0).execute(username,password);

   }

   public void loginPost(View view){
      String username = usernameField.getText().toString();
      String password = passwordField.getText().toString();
      method.setText("Post Method");
      new SigninActivity(this,status,role,1).execute(username,password);
   }
}

Dưới đây là nội dung của src/com.example.phpmysql/signinactivity.java.src/com.example.phpmysql/SigninActivity.java.

<?php
   $con=mysqli_connect("example.com","username","password","my_db");
   $sql="CREATE TABLE table1(Username CHAR(30),Password CHAR(30),Role CHAR(30))";
   if (mysqli_query($con,$sql)) {
      echo "Table have been created successfully";
   }
?>
0

Thêm nội dung sau để xây dựng.gradle và xây dựng lại toàn bộ dự án.build.gradle and rebuild the whole project.

<?php
   $con=mysqli_connect("example.com","username","password","my_db");
   $sql="CREATE TABLE table1(Username CHAR(30),Password CHAR(30),Role CHAR(30))";
   if (mysqli_query($con,$sql)) {
      echo "Table have been created successfully";
   }
?>
1

Đây là nội dung của Activity_Main.xml.activity_main.xml.

<?php
   $con=mysqli_connect("example.com","username","password","my_db");
   $sql="CREATE TABLE table1(Username CHAR(30),Password CHAR(30),Role CHAR(30))";
   if (mysqli_query($con,$sql)) {
      echo "Table have been created successfully";
   }
?>
2

Đây là nội dung của chuỗi.xml.Strings.xml.

<?php
   $con=mysqli_connect("example.com","username","password","my_db");
   $sql="CREATE TABLE table1(Username CHAR(30),Password CHAR(30),Role CHAR(30))";
   if (mysqli_query($con,$sql)) {
      echo "Table have been created successfully";
   }
?>
3

Đây là nội dung của AndroidManifest.xml.AndroidManifest.xml.

<?php
   $con=mysqli_connect("example.com","username","password","my_db");
   $sql="CREATE TABLE table1(Username CHAR(30),Password CHAR(30),Role CHAR(30))";
   if (mysqli_query($con,$sql)) {
      echo "Table have been created successfully";
   }
?>
4

Hãy thử chạy ứng dụng PHPMysQL của bạn. Tôi cho rằng bạn đã kết nối thiết bị di động Android thực tế của bạn với máy tính của bạn. Để chạy ứng dụng từ Android Studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng chạy từ thanh công cụ. Trước khi bắt đầu ứng dụng của bạn, Android Studio sẽ hiển thị cửa sổ sau để chọn tùy chọn mà bạn muốn chạy ứng dụng Android của mình.

Hướng dẫn run php mysql on android - chạy php mysql trên android
icon from the tool bar. Before starting your application, Android studio will display following window to select an option where you want to run your Android application.

Hướng dẫn run php mysql on android - chạy php mysql trên android

Chọn thiết bị di động của bạn làm tùy chọn và sau đó kiểm tra thiết bị di động của bạn sẽ hiển thị sau màn hình -

Hướng dẫn run php mysql on android - chạy php mysql trên android

Bây giờ chỉ cần nhập tên người dùng và mật khẩu của bạn. Trong trường hợp của tôi, tôi đang gõ quản trị viên làm tên người dùng và mật khẩu. Nó được hiển thị trong hình -

Hướng dẫn run php mysql on android - chạy php mysql trên android

Bây giờ nhấn nút GET và đợi một vài giây và phản hồi sẽ được tải xuống và sẽ được hiển thị cho bạn. Trong trường hợp này, phản hồi là vai trò được tìm nạp trong trường hợp quản trị viên là tên người dùng và mật khẩu. Nó được hiển thị trong hình bên dưới -

Hướng dẫn run php mysql on android - chạy php mysql trên android

Bây giờ một lần nữa nhấn nút Post và kết quả tương tự sẽ xuất hiện. Nó được hiển thị trong hình dưới đây -

Hướng dẫn run php mysql on android - chạy php mysql trên android

Tôi có thể chạy PHP trên Android không?

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 $.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.

MySQL có thể được sử dụng trong Android không?

Điều này rất hữu ích trong trường hợp bạn có máy chủ web và bạn muốn truy cập dữ liệu của nó trên ứng dụng Android của mình.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.MYSQL is used as a database at the webserver and PHP is used to fetch data from the database.

Tôi có thể chạy PHP trong mysql không?

Kết nối PHP với MySQL để kết nối cơ sở dữ liệu MySQL với PHP, bạn yêu cầu MySQL trên máy tính, một công cụ để tạo và quản lý cơ sở dữ liệu và cài đặt PHP.Những cách phổ biến nhất để kết nối tập lệnh PHP với MySQL là MySQLI và PDO.In order to connect a MySQL database to PHP, you require MySQL on your computer, a tool to create and manage databases, and PHP installed. The most popular ways to connect a PHP script to MySQL are MySQli and PDO.

Tôi có thể chuyển đổi trang web PHP sang ứng dụng Android không?

Không có cách nào để dịch trực tiếp những gì bạn đã xây dựng với PHP thành các ứng dụng gốc cho các nền tảng iOS và Android..

Tôi có thể viết mã PHP trên điện thoại của mình không?

Nó chỉ ra rằng mã hóa trong PHP trên Android là có thể (ngay cả khi nó không tốt như trên Mac, Linux hoặc thậm chí Windows).Trong bài đăng trên blog này, tôi sẽ đi vào một số biên tập viên, IDE và các tùy chọn khác để chỉnh sửa mã PHP (và chạy ngăn xếp đèn phát triển) trên các thiết bị Android của bạn.coding in php on android is possible (even if its not as good as on a mac, linux or even windows). In this blog post I'll go into some editors, IDE's and other options for editing php code (and running a development LAMP stack) on your android devices.