sql >> Database >  >> RDS >> Mysql

Hoe maak je eenvoudig CRUD met PHP en MySQL?

In de vorige aflevering van deze MySQL-serie heb ik een overzicht gegeven van tabelmanipulatie in MySQL. In dit deel van de tutorialserie leer ik je hoe je CRUD maakt in PHP en MySQL door insert uit te voeren. , bijwerken en verwijderen vragen. Deze zoekopdrachten kunnen op de volgende manieren worden uitgevoerd.

Uitvoering van één zoekopdracht

Het voert een enkele query tegelijk uit. Laten we beginnen met het invoegen van gegevens in onze database die we eerder hebben gemaakt op onze hosting voor PHP MySQL. Maak een nieuw php-bestand aan in de map “practice ” dat we eerder hebben gemaakt en noem het crud.php. CRUD is de afkorting voor Create, Read, Update en Delete queries. Voeg nu in het nieuwe bestand deze regel bovenaan toe require_once ‘db_connection.php’ en maak deze nieuwe functie:

require_once 'db_connection.php';

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

}

De functie neemt een enkele parameter als uw vereiste query en voert deze uit. Maak nu een nieuw bestand index2.php in dezelfde map en voeg bovenaan deze regel require_once ‘crud.php’ toe. Voeg nu deze regels toe aan uw 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;
}

Open vervolgens uw browser en zoek naar localhost/practice/index2.php en u zult succes vinden als u de juiste zoekopdracht hebt getypt.

Uitvoering van meerdere zoekopdrachten

Met deze methode kunt u meer dan één insert . uitvoeren , selecteer of bijwerken vraag. Laten we beginnen met het schrijven van een functie voor Multi Insert of Bijwerken vragen. Schrijf deze nieuwe functie in je crud.php-bestand

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

De functie neemt een enkele parameter als uw vereiste query en voert deze uit. Roep nu deze functie aan in uw 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;
}

Open nu uw browser en zoek naar localhost/practice/index2.php en u zult succes vinden als u de juiste zoekopdracht hebt getypt.


Niets zo eenvoudig als het implementeren van PHP-apps in de cloud

Met Cloudways kunt u uw PHP-apps binnen enkele minuten op beheerde cloudservers hebben staan.

Begin gratis


CRUD in PHP en MySQL met voorbereide verklaringen

Voorbereide instructies worden gebruikt om dezelfde query meerdere keren met hoge efficiëntie uit te voeren. Schrijf nu deze nieuwe functie in je crud.php-bestand:

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

}

We zullen gegevens selecteren met behulp van voorbereide verklaringen. Laten we eens kijken hoe een voorbereide verklaring werkt:

  1. Eerst bereidt u uw verklaring voor zoals INSERT INTO myguests(firstname, lastname, email, subject) VALUES (?,?,?,?). We vertrokken ? waar we de waarden willen invoegen.
  2. Ten tweede binden we die waarden. De eerste parameter neemt de gegevenstypen van de waarde  en daarna de waarden. Het gegevenstypeargument kan van vier typen zijn.
    1. i – geheel getal
    2. s – tekenreeks
    3. d – dubbel
    4. b – blob
  3. We zullen het uitvoeren.

De functie neemt vier parameters als uw vereiste waarde en voert deze uit. Roep nu deze functie aan in uw 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;
}

Open nu uw browser en zoek naar localhost/practice/index2.php en u zult succesvol zijn als u de juiste zoekopdracht hebt getypt.

Selecteer uitvoering van query

Laten we nu de gegevens uit onze MySQL-database selecteren met behulp van enkele query-uitvoering. Schrijf een nieuwe functie in je crud.php hieronder geschreven:

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

De functie controleert eerst of de query met succes is uitgevoerd. Zo niet, dan stuurt hij een foutmelding. Ten tweede controleert het of het aantal rijen groter is dan 0 of niet. Als dat het geval is, wordt "Nul resultaten gevonden" verzonden. Roep deze functie nu aan in index2.php en schrijf de volgende code:

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

Open hierna uw browser en zoek naar localhost/practice/index2.php en u zult alle gegevensopslag in uw database vinden op uw index2.php-pagina.

Query bijwerken met behulp van een voorbereide verklaring

Laten we een nieuwe functie in uw crud.php-bestand schrijven om de update-instructie uit te voeren:

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

De update-parameter heeft drie parameters. Een daarvan is de kolomnaam die moet worden bijgewerkt, de tweede is de waarde die wordt vervangen door de vorige waarde en de derde is de ID van de rij waarin deze wordt gewijzigd. Voer nu deze functie uit in index2.php :

include 'crud.php';


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

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

Als je dat hebt gedaan, open je je browser en ga je naar localhost/practice/index2.php en je zult succesvol zijn als er geen fout is.

Query verwijderen met behulp van voorbereide instructie

Laten we een nieuwe functie in uw crud.php-bestand schrijven om een ​​verwijderopdracht uit te voeren:

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

De delete-parameter neemt één parameter die de ID is van de rij die uit de tabel moet worden verwijderd. Voer nu deze functie uit in index2.php:

include 'crud.php';

$result = DeleteQuery(1);

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

Open daarna uw browser en zoek naar localhost/practice/index2.php en u zult succes vinden als er geen fout is.

Conclusie

In deze zelfstudie hebben we geleerd hoe u CRUD in PHP en MySQL op drie verschillende manieren kunt uitvoeren. In de volgende aflevering van deze MySQL-serie bespreek ik de clausules voor het ophalen van MySQL-gegevens. Hier is een korte introductie en een lijst met belangrijke onderwerpen in deze MySQL-serie.

Als je vragen hebt over wat we in deze tutorial hebben geleerd, kun je hieronder reageren! Veel geluk!


  1. Hoe numerieke typen uit MySQL te halen met PDO?

  2. MySql werkt twee tabellen tegelijk bij

  3. 2 Functies die de seconden retourneren van een Datetime-waarde in Oracle

  4. Script genereren om alle beperkingen voor externe sleutels in SQL Server-database in te schakelen - SQL Server / TSQL-zelfstudie, deel 78