Se sabe que podemos usar MySQL para usar el lenguaje de consulta de estructura para almacenar los datos en forma de RDBMS . SQL es el lenguaje más popular para agregar, acceder y administrar contenido en una base de datos. Es más conocido por su procesamiento rápido, confiabilidad comprobada, facilidad y flexibilidad de uso. La aplicación se utiliza para una amplia gama de propósitos, incluidas las aplicaciones de almacenamiento de datos, comercio electrónico y registro. MySQL proporciona un conjunto de algunas operaciones básicas pero esenciales que lo ayudarán a interactuar fácilmente con la base de datos MySQL y estas operaciones se conocen como operaciones CRUD.
En el artículo anterior, hemos visto crear una nueva base de datos SQL en el servicio PhpMydmin . En este artículo, realizaremos la operación Insertar datos. Antes de realizar esta operación, en primer lugar, debemos crear un nuevo script PHP para agregar nuevos datos a esa base de datos en nuestra base de datos SQL .
Requisito previo: debe tener Postman instalado en su sistema para probar este script PHP.
Cree un nuevo script PHP para agregar nuevos datos a esa base de datos en nuestra base de datos SQL
Construiremos un script PHP simple en el que se usará para agregar datos a nuestra tabla SQL que hemos creado en nuestro artículo anterior. Usando este script agregaremos datos a nuestra tabla SQL.
Implementación paso a paso
Paso 1: inicie su servidor XAMPP que hemos visto comenzar en el artículo anterior
En el artículo anterior, hemos visto iniciar nuestro servidor XAMPP y también hemos creado nuestra base de datos. En este artículo, crearemos un script para agregar datos a nuestra base de datos.
Paso 2: navega a la carpeta xampp
Ahora tenemos que navegar a la unidad C en su PC y dentro de eso verificar el nombre de la carpeta como xampp. Dentro de esa carpeta, navegue a la carpeta htdocs y cree una nueva carpeta en ella y asígnele el nombre CourseApp. Dentro de esta carpeta, almacenaremos todos nuestros scripts PHP. Ahora, para escribir su script PHP, podemos usar cualquier editor de texto simple. Estoy usando el código VS. Después de crear esta carpeta, simplemente tenemos que abrir esta carpeta en código VS.
Paso 3: Crear un nuevo archivo PHP
Después de abrir su carpeta en el código VS, dentro de esa carpeta tenemos que presionar una tecla de acceso directo como Ctrl+N, se creará nuestro nuevo archivo. Tenemos que guardar este archivo con el nombre addCourses.php y agregarle el siguiente código. Se agregan comentarios en el código para conocer con más detalle.
PHP
<?php $servername = "localhost"; // for testing the user name is root. $username = "root"; // the password for testing is "blank" $password = ""; // below is the name for our // database which we have added. $dbname = "id16310745_gfgdatabase"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // an array to display response $response = array(); // on below line we are checking if the body provided by user contains // this keys as course name,course description and course duration if($_POST['courseName'] && $_POST['courseDuration'] && $_POST['courseDescription']){ // if above three parameters are present then we are extravting values // from it and storing it in new variables. $courseName = $_POST['courseName']; $courseDuration = $_POST['courseDuration']; $courseDescription = $_POST['courseDescription']; // after that we are writing an sql query to // add this data to our database. // on below line make sure to add your table name // in previous article we have created our table name // as courseDb and add all column headers to it except our id. $stmt = $conn->prepare("INSERT INTO `courseDb`(`courseName`, `courseDuration`, `courseDescription`) VALUES (?,?,?)"); $stmt->bind_param("sss",$courseName,$courseDuration,$courseDescription); // on below line we are checking if our sql query is executed successfully. if($stmt->execute() == TRUE){ // if the script is executed successfully we are // passing data to our response object // with a success message. $response['error'] = false; $response['message'] = "course created successfully!"; } else{ // if we get any error we are passing error to our object. $response['error'] = true; $response['message'] = "failed\n ".$conn->error; } } else{ // this msethod is called when user // donot enter sufficient parameters. $response['error'] = true; $response['message'] = "Insufficient parameters"; } // at last we are prinintg our response which we get. echo json_encode($response); ?>
Paso 4: Obtener URL para nuestro script PHP
Para obtener la URL de nuestro script PHP, simplemente tenemos que escribir localhost en nuestro navegador y tenemos que agregarle el nombre de nuestra carpeta y nuestro nombre de archivo. Verá la URL resaltada a continuación:
http://localhost/courseApp/addCourses.php
Ahora agregaremos datos en nuestra tabla SQL con esta URL en cartero.
Paso 5: Probando nuestro PHP Script en Postman
Para probar su secuencia de comandos PHP, seleccione el método POST en cartero, ya que publicaremos datos en nuestra tabla SQL y dentro de la sección URL agregue la URL anterior. Después de agregar la URL. Ahora haga clic en la pestaña Cuerpo que se muestra en la captura de pantalla a continuación y dentro de eso seleccione x-www-form-urlencoded y luego agregue los parámetros en la sección a continuación como se muestra en la captura de pantalla. Asegúrese de que la clave que está ingresando debe ser la misma que hemos usado para nombrar nuestras columnas en nuestra tabla SQL. Después de agregar todos los datos. Ahora haga clic en la opción Enviar para enviar datos a nuestra tabla SQL.
Después de enviar esta solicitud, nuestros datos se agregaron a nuestra tabla SQL. Puede ver los datos agregados en la consola de PhpMyAdmin en la siguiente captura de pantalla.
Insertar operación de datos
En la parte superior, hemos creado un script PHP para agregar datos a nuestra tabla SQL. Junto con eso, también hemos probado ese script al agregarle datos. En esta parte, integraremos eso en nuestra aplicación de Android y agregaremos datos a nuestra tabla SQL desde nuestra aplicación de Android.
¿Qué vamos a construir en este artículo?
Construiremos una aplicación simple en la que simplemente agregaremos detalles del curso desde un formulario simple en nuestra tabla SQL que hemos creado. Para realizar esta operación, usaremos la biblioteca Volley que se usa para analizar JSON en Android. A continuación se muestra el video en el que veremos lo que vamos a construir en este artículo.
Implementación paso a paso
Paso 1: crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: agregue la dependencia a continuación en su archivo build.gradle
A continuación se muestra la dependencia de Volley que usaremos para obtener los datos de la API. Para agregar esta dependencia, vaya a la aplicación > Gradle Scripts > build.gradle(app) y agregue la dependencia a continuación en la sección de dependencias.
implementation ‘com.android.volley:volley:1.1.1’
Después de agregar esta dependencia, sincronice su proyecto y ahora muévase hacia la parte AndroidManifest.xml.
Paso 3: agregar permisos a Internet en el archivo AndroidManifest.xml
Vaya a la aplicación > AndroidManifest.xml y agréguele el siguiente código.
XML
<!--permissions for INTERNET--> <uses-permission android:name="android.permission.INTERNET"/>
Paso 4: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <!--Edit text for getting course Name--> <EditText android:id="@+id/idEdtCourseName" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="10dp" android:layout_marginTop="20dp" android:layout_marginEnd="10dp" android:hint="Course Name" android:importantForAutofill="no" android:inputType="text" /> <!--Edittext for getting course Duration--> <EditText android:id="@+id/idEdtCourseDuration" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="10dp" android:layout_marginTop="20dp" android:layout_marginEnd="10dp" android:hint="Course Duration in min" android:importantForAutofill="no" android:inputType="time" /> <!--Edittext for getting course Description--> <EditText android:id="@+id/idEdtCourseDescription" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="10dp" android:layout_marginTop="20dp" android:layout_marginEnd="10dp" android:hint="Course Description" android:importantForAutofill="no" android:inputType="text" /> <!--Button for adding your course to Firebase--> <Button android:id="@+id/idBtnSubmitCourse" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:text="Submit Course Details" android:textAllCaps="false" /> </LinearLayout>
Paso 5: trabajar con el archivo MainActivity.java
Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.
Java
import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class MainActivity extends AppCompatActivity { // creating variables for our edit text private EditText courseNameEdt, courseDurationEdt, courseDescriptionEdt; // creating variable for button private Button submitCourseBtn; // creating a strings for storing our values from edittext fields. private String courseName, courseDuration, courseDescription; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initializing our edittext and buttons courseNameEdt = findViewById(R.id.idEdtCourseName); courseDescriptionEdt = findViewById(R.id.idEdtCourseDescription); courseDurationEdt = findViewById(R.id.idEdtCourseDuration); submitCourseBtn = findViewById(R.id.idBtnSubmitCourse); submitCourseBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // getting data from edittext fields. courseName = courseNameEdt.getText().toString(); courseDescription = courseDescriptionEdt.getText().toString(); courseDuration = courseDurationEdt.getText().toString(); // validating the text fields if empty or not. if (TextUtils.isEmpty(courseName)) { courseNameEdt.setError("Please enter Course Name"); } else if (TextUtils.isEmpty(courseDescription)) { courseDescriptionEdt.setError("Please enter Course Description"); } else if (TextUtils.isEmpty(courseDuration)) { courseDurationEdt.setError("Please enter Course Duration"); } else { // calling method to add data to Firebase Firestore. addDataToDatabase(courseName, courseDescription, courseDuration); } } }); } private void addDataToDatabase(String courseName, String courseDescription, String courseDuration) { // url to post our data String url = "http://localhost/courseApp/addCourses.php"; // creating a new variable for our request queue RequestQueue queue = Volley.newRequestQueue(MainActivity.this); // on below line we are calling a string // request method to post the data to our API // in this we are calling a post method. StringRequest request = new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { @Override public void onResponse(String response) { Log.e("TAG", "RESPONSE IS " + response); try { JSONObject jsonObject = new JSONObject(response); // on below line we are displaying a success toast message. Toast.makeText(MainActivity.this, jsonObject.getString("message"), Toast.LENGTH_SHORT).show(); } catch (JSONException e) { e.printStackTrace(); } // and setting data to edit text as empty courseNameEdt.setText(""); courseDescriptionEdt.setText(""); courseDurationEdt.setText(""); } }, new com.android.volley.Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // method to handle errors. Toast.makeText(MainActivity.this, "Fail to get response = " + error, Toast.LENGTH_SHORT).show(); } }) { @Override public String getBodyContentType() { // as we are passing data in the form of url encoded // so we are passing the content type below return "application/x-www-form-urlencoded; charset=UTF-8"; } @Override protected Map<String, String> getParams() { // below line we are creating a map for storing // our values in key and value pair. Map<String, String> params = new HashMap<String, String>(); // on below line we are passing our // key and value pair to our parameters. params.put("courseName", courseName); params.put("courseDuration", courseDuration); params.put("courseDescription", courseDescription); // at last we are returning our params. return params; } }; // below line is to make // a json object request. queue.add(request); } }
Ahora ejecute su aplicación y vea el resultado del código.
Salida :
Puede ver los datos que se han agregado a su tabla SQL en la siguiente captura de pantalla.
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA