Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer un CRUD simple en utilisant PHP et MySQL facilement

Dans le précédent article de cette série MySQL, j'ai fourni un aperçu de la manipulation de table dans MySQL. Dans cette partie de la série de tutoriels, je vais vous apprendre à créer CRUD en PHP et MySQL en exécutant insert , mettre à jour et supprimer requêtes. Ces requêtes peuvent être exécutées des manières suivantes.

Exécution d'une seule requête

Il exécute une seule requête à la fois. Commençons par insérer des données dans notre base de données que nous avons créée précédemment sur notre hébergement pour PHP MySQL. Créez un nouveau fichier php dans le dossier "practice ” que nous avons précédemment créé et nommez-le crud.php. CRUD est l'abréviation de créer, lire, mettre à jour et supprimer des requêtes. Maintenant dans le nouveau fichier, ajoutez cette ligne en haut require_once ‘db_connection.php’ et créez cette nouvelle fonction :

require_once 'db_connection.php';

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

}

La fonction prend un seul paramètre comme requête requise et l'exécute. Maintenant, créez un nouveau fichier, index2.php dans le même dossier et en haut ajoutez cette ligne require_once ‘crud.php’. Ajoutez maintenant ces lignes dans votre 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;
}

Ensuite, ouvrez votre navigateur et recherchez localhost/practice/index2.php et vous réussirez si vous avez tapé la bonne requête.

Exécution de plusieurs requêtes

En utilisant cette méthode, vous pouvez exécuter plus d'un insert , sélectionnez ou mettre à jour requête. Commençons par écrire une fonction pour Multi Insert ou Mettre à jour requêtes. Écrivez cette nouvelle fonction dans votre fichier crud.php

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

La fonction prend un seul paramètre comme requête requise et l'exécute. Maintenant, appelez cette fonction dans votre 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;
}

Maintenant, ouvrez votre navigateur et recherchez localhost/practice/index2.php et vous réussirez si vous avez tapé la bonne requête.


Rien de plus simple que de déployer des applications PHP sur le cloud

Avec Cloudways, vous pouvez faire fonctionner vos applications PHP sur des serveurs cloud gérés en quelques minutes seulement.

Commencez gratuitement


CRUD en PHP et MySQL avec des instructions préparées

Les instructions préparées sont utilisées pour exécuter la même requête plusieurs fois avec une grande efficacité. Écrivez maintenant cette nouvelle fonction dans votre fichier 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;
	}
	

}

Nous sélectionnerons les données à l'aide d'énoncés préparés. Voyons comment fonctionne l'instruction préparée :

  1. Premièrement, vous préparez votre déclaration comme INSERT INTO myguests(firstname, lastname, email, subject) VALUES (?,?,?,?). Nous avons quitté  ? où nous voulons insérer les valeurs.
  2. Deuxièmement, nous allons lier ces valeurs. Le premier paramètre prend les types de données de la valeur, puis les valeurs. L'argument de type de données peut être de quatre types.
    1. i – entier
    2. s – chaîne
    3. d – double
    4. b – goutte
  3. Nous allons l'exécuter.

La fonction prend quatre paramètres comme valeur requise et l'exécute. Maintenant, appelez cette fonction dans votre 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;
}

Maintenant, ouvrez votre navigateur et recherchez localhost/practice/index2.php et vous réussirez si vous avez tapé la bonne requête.

Sélectionner l'exécution de la requête

Maintenant, sélectionnons les données de notre base de données MySQL en utilisant l'exécution d'une seule requête. Écrivez une nouvelle fonction dans votre crud.php écrite ci-dessous :

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 fonction vérifie d'abord que la requête est exécutée avec succès. Sinon, il envoie une erreur. Deuxièmement, il vérifie si le nombre de lignes est supérieur à 0 ou non. Si c'est le cas, il envoie "Aucun résultat trouvé". Maintenant, appelez cette fonction dans index2.php écrivez le code suivant :

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

Après cela, ouvrez votre navigateur et recherchez localhost/practice/index2.php et vous trouverez toutes les données stockées dans votre base de données dans votre page index2.php.

Mettre à jour la requête à l'aide d'une instruction préparée

Écrivons une nouvelle fonction dans votre fichier crud.php pour exécuter l'instruction de mise à jour :

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;
}
}

Le paramètre de mise à jour prend trois paramètres. Le premier est le nom de la colonne qui doit être mis à jour, le deuxième est la valeur qui sera remplacée par la valeur précédente et le troisième est l'ID de la ligne dans laquelle il sera modifié. Maintenant, exécutez cette fonction dans index2.php :

include 'crud.php';


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

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

Lorsque vous avez fait cela, ouvrez votre navigateur et recherchez localhost/practice/index2.php et vous réussirez s'il n'y a pas d'erreur.

Supprimer la requête à l'aide d'une instruction préparée

Écrivons une nouvelle fonction dans votre fichier crud.php pour exécuter une instruction de suppression :

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;
	}
}

Le paramètre de suppression prend un paramètre qui sera l'ID de la ligne qui doit être supprimée de la table. Maintenant, exécutez cette fonction dans index2.php :

include 'crud.php';

$result = DeleteQuery(1);

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

Après cela, ouvrez votre navigateur et recherchez localhost/practice/index2.php et vous trouverez le succès s'il n'y a pas d'erreur.

Conclusion

Dans ce didacticiel, nous avons appris à exécuter CRUD en PHP et MySQL de trois manières différentes. Dans le prochain épisode de cette série MySQL, j'aborderai les clauses de récupération de données MySQL. Voici une courte introduction et une liste des principaux sujets de cette série MySQL.

Si vous avez des questions sur ce que nous avons appris dans ce didacticiel, n'hésitez pas à commenter ci-dessous! Bonne chance! 🙂