This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

Cómo hacer un CRUD sencillo en PHP y MySQL

Updated on July 18, 2025

4 Min Read
How to Make Simple CRUD in PHP and MySQL

En la entrega anterior de esta serie sobre MySQL, proporcioné una visión general de la manipulación de tablas en MySQL. En esta parte de la serie de tutoriales, te enseñaré a crear CRUD en PHP y MySQL ejecutando consultas de inserción, actualización y eliminación. Estas consultas se pueden ejecutar de las siguientes formas.

Ejecución de una sola consulta

Ejecuta una única consulta cada vez. Empecemos insertando datos en nuestra base de datos que hemos creado previamente en nuestro alojamiento para PHP MySQL. Crea un nuevo archivo php en la carpeta «práctica» que hemos creado previamente y llámalo crud.php. CRUD es la abreviatura de las consultas Crear, Leer, Actualizar y Eliminar. Ahora, en el nuevo archivo, añade esta línea en la parte superior require_once ‘db_connection.php’ y crea esta nueva función:

require_once 'db_connection.php';

function SingleQuery($queri)
{
	$conn = OpenCon();
	
	
	if($conn->query($queri) === TRUE)
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}

}

La función toma un único parámetro como tu consulta requerida y la ejecuta. Ahora, crea un nuevo archivo, index2.php en la misma carpeta y en la parte superior añade esta línea require_once ‘crud.php’. Ahora añade estas líneas en tu index2.php:

include 'crud.php';

$sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('w','w','[email protected]','First Insert Using Single Query')";

$result = SingleQuery($sql);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

A continuación, abre tu navegador y dirígete a localhost/practice/index2.php y comprobarás si has escrito la consulta correcta.

Ejecución de Consultas Múltiples

Utilizando este método, puedes ejecutar más de una consulta de inserción, selección o actualización. Empecemos escribiendo una función para consultas de Multiinserción o Actualización. Escribe esta nueva función en tu archivo crud.php

function MultiQuery($quries)
{
	$conn = OpenCon();
	
	
	if($conn->multi_query($quries) === true)
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}
}

La función toma un único parámetro como tu consulta requerida y la ejecuta. Ahora, llama a esta función en tu index2.php:

include 'crud.php';

$sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('a','a','[email protected]','First Insert Using Multiple Queries');";
$sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('b','b','[email protected]','First Insert Using Multiple Queries');";
$sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('c','c','[email protected]','First Insert Using Multiple Queries');";

$result = MultiQuery($sql);

if($result === true)
{
 echo 'success';
 
}
else
{
 echo $result;
}

Ahora, abre tu navegador y localiza a localhost/practice/index2.php y comprobarás si has escrito la consulta correcta.

Nada tan fácil como desplegar aplicaciones PHP en la nube

Con Cloudways, puedes tener tus aplicaciones PHP funcionando en servidores gestionados en la nube en sólo unos minutos.

CRUD en PHP y MySQL con sentencias preparadas

Las sentencias preparadas se utilizan para ejecutar la misma consulta varias veces con gran eficacia. Ahora escribe esta nueva función en tu archivo crud.php:

function PreQuery($fname,$lname,$email,$subj)
{
	$conn = OpenCon();
	$query = $conn->prepare("INSERT INTO myguests(firstname, lastname, email, subject) VALUES (?,?,?,?)");
	$query->bind_param("ssss", $fname,$lname,$email,$subj);
	
	if($query->execute())
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}
	

}

Vamos a seleccionar datos utilizando sentencias preparadas. Veamos cómo funcionan las sentencias preparadas:

  1. Primero, preparas tu sentencia como INSERT INTO misinvitados(nombre, apellidos, email, asunto) VALUES (?,?,?,?). Dejamos ? donde queremos insertar los valores.
  2. El primer parámetro toma los tipos de datos del valor y, a continuación, los valores. El argumento tipo de datos puede ser de cuatro tipos.
    1. i – número entero
    2. s – cadena
    3. d – doble
    4. b – mancha
  3. Lo ejecutaremos.

La función toma cuatro parámetros como valor requerido y la ejecuta. Ahora, llama a esta función en tu index2.php:

include 'crud.php';

$firstn = "Ahmed";
$lastn = "Khan";
$email = "[email protected]";
$subject = "Inserting Data using prepared Query";
$result = PreQuery($firstn,$lastn,$email,$subject);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

Ahora, abre tu navegador y localiza a localhost/practice/index2.php y tendrás éxito si has escrito la consulta correcta.

Seleccionar ejecución de consulta

Ahora, vamos a seleccionar los datos de nuestra base de datos MySQL mediante la ejecución de una sola consulta. Escribe una nueva función en tu crud.php escrita a continuación:

function selectdata($sql)
{
	$conn = OpenCon();
	
	$result = $conn->query($sql);
	if($result)
	{
		if($result->num_rows > 0)
		{
			return $result;
		}
		else
		{
			return "zero";
		}
	}
	else
	{
		return $result->error;
	}
}

La función comprueba primero que la consulta se ejecuta correctamente. Si no es así, envía un error. En segundo lugar, comprueba si el número de filas es mayor que 0 o no. Si es así, envía «Cero resultados encontrados». Ahora, llama a esta función en index2.php escribiendo el siguiente código:

<table>
 <tr>
 <td> Name</td>
 <td> Email</td>
 <td> Message</td>
 </tr>
<?php
include 'crud.php';

$sql = "SELECT * FROM `myguests`";

$result = selectdata($sql);

if($result != "zero")
{
 
 while($row = $result->fetch_assoc())
 {
 echo "<tr>";
 echo "<td>" . $row['firstname'].' '.$row['lastname'] . "</td>";
 echo "<td>" . $row['email']. "</td>"; 
 echo "<td>" . $row['subject']. "</td>"; 
 echo "</tr>";

 }
 
 
}
else
{
 echo $result;
}
?>
 </table>

Después de esto, abre tu navegador y localiza a localhost/practice/index2.php y encontrarás todos los datos almacenados en tu base de datos en tu página index2.php.

Actualizar consulta mediante sentencia preparada

Escribamos una nueva función en tu archivo crud.php para ejecutar la sentencia update:

function UpdateQuery($column,$value,$id)
{
$conn = OpenCon();
$query = $conn->prepare("UPDATE myguests SET $column = ? WHERE id = ?");
$query->bind_param("si",$value,$id);

if($query->execute())
{
CloseCon($conn);
return true;
}
else
{
return $conn->error;
}
}

El parámetro actualizar toma tres parámetros. Uno es el nombre de la columna que debe actualizarse, el segundo es el valor que se sustituirá por el valor anterior y el tercero es el ID de la fila en la que se modificará. Ahora, ejecuta esta función en index2.php :

include 'crud.php';


$result = UpdateQuery("firstname","David",1);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

Cuando lo hayas hecho, abre tu navegador y localiza a localhost/practice/index2.php y tendrás éxito si no hay ningún error.

Eliminar consulta mediante sentencia preparada

Escribamos una nueva función en tu archivo crud.php para ejecutar una sentencia de borrado:

function DeleteQuery($id)
{
$conn = OpenCon();
	$query = $conn->prepare("DELETE FROM myguests WHERE id = ?");
	$query->bind_param("i",$id);
	//var_dump($query);

	
	if($query->execute())
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}
}

El parámetro delete toma un parámetro que será el ID de la fila que hay que borrar de la tabla. Ahora, ejecuta esta función en index2.php:

include 'crud.php';

$result = DeleteQuery(1);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

Después de eso, abre tu navegador y localiza a localhost/practice/index2.php y encontrarás el éxito si no hay ningún error.

Conclusión

En este tutorial, hemos aprendido a ejecutar CRUD en PHP y MySQL utilizando tres formas diferentes. En la próxima entrega de esta serie sobre MySQL, hablaré de las cláusulas de obtención de datos de MySQL. Aquí tienes una breve introducción y una lista de los temas principales de esta serie sobre MySQL.

Si tienes alguna pregunta sobre lo que hemos aprendido en este tutorial, ¡no dudes en comentarlo abajo! ¡Que tengas suerte! 🙂

Share your opinion in the comment section. COMMENT NOW

Share This Article

Start Growing with Cloudways Today.

Our Clients Love us because we never compromise on these

Shahzeb Ahmed

Un creativo de día (con una taza de té) y un creativo de noche. Ahmad Kamran es redactor de contenidos estacionales y Ejecutivo de Marketing Senior en Cloudways. Puedes encontrarle en su escritorio escribiendo, elaborando estrategias o jugando. Y en caso de que no puedas encontrarle aquí, estará en la montaña o junto a la orilla del río.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Want to Experience the Cloudways Platform in Its Full Glory?

Take a FREE guided tour of Cloudways and see for yourself how easily you can manage your server & apps on the leading cloud-hosting platform.

Iniciar mi recorrido