sql >> Databáze >  >> RDS >> Mysql

Jak snadno vytvořit jednoduchý CRUD pomocí PHP a MySQL

V předchozím díle této série MySQL jsem poskytl přehled manipulace s tabulkami v MySQL. V této části série tutoriálů vás naučím, jak vytvořit CRUD v PHP a MySQL spuštěním insert , aktualizovat a smazat dotazy. Tyto dotazy lze provést následujícími způsoby.

Spuštění jednoho dotazu

Provádí jeden dotaz najednou. Začněme vložením dat do naší databáze, kterou jsme dříve vytvořili na našem hostingu pro PHP MySQL. Vytvořte nový soubor php ve složce „practice ” který jsme dříve vytvořili a pojmenujeme ho crud.php. CRUD je zkratka pro Create, Read, Update a Delete queries. Nyní do nového souboru přidejte tento řádek nahoru require_once ‘db_connection.php’ a vytvořte tuto novou funkci:

require_once 'db_connection.php';

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

}

Funkce vezme jeden parametr jako požadovaný dotaz a provede jej. Nyní vytvořte nový soubor, index2.php ve stejné složce a nahoře přidejte tento řádek require_once ‘crud.php’. Nyní přidejte tyto řádky do svého 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;
}

Poté otevřete prohlížeč a vyhledejte localhost/practice/index2.php a pokud zadáte správný dotaz, budete úspěšní.

Spouštění více dotazů

Pomocí této metody můžete provést více než jeden vložení , vyberte nebo aktualizovat dotaz. Začněme napsáním funkce pro Vícenásobné vložení nebo Aktualizovat dotazy. Napište tuto novou funkci do svého souboru crud.php

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

Funkce vezme jeden parametr jako požadovaný dotaz a provede jej. Nyní zavolejte tuto funkci ve svém 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;
}

Nyní otevřete prohlížeč a vyhledejte localhost/practice/index2.php a pokud zadáte správný dotaz, budete úspěšní.


Nic tak snadného jako nasazení aplikací PHP v cloudu

S Cloudways můžete mít své PHP aplikace spuštěné na spravovaných cloudových serverech během několika minut.

Začít zdarma


CRUD v PHP a MySQL s připravenými příkazy

Připravené příkazy se používají k provádění stejného dotazu několikrát s vysokou účinností. Nyní zapište tuto novou funkci do svého souboru 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;
	}
	

}

Data budeme vybírat pomocí připravených výpisů. Podívejme se, jak funguje připravený výpis:

  1. Nejprve si připravíte prohlášení jako INSERT INTO myguests (jméno, příjmení, e-mail, předmět) VALUES (?,?,?,?). Odešli jsme z ? kam chceme vložit hodnoty.
  2. Zadruhé tyto hodnoty svážeme. První parametr přebírá datové typy hodnoty a poté hodnoty. Argument datového typu může být čtyř typů.
    1. i – celé číslo
    2. s – řetězec
    3. d – dvojité
    4. b – blob
  3. Provedeme to.

Funkce převezme čtyři parametry jako požadovanou hodnotu a provede ji. Nyní zavolejte tuto funkci ve svém 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;
}

Nyní otevřete prohlížeč a vyhledejte localhost/practice/index2.php a budete úspěšní, pokud jste zadali správný dotaz.

Vyberte Spuštění dotazu

Nyní vybereme data z naší databáze MySQL pomocí provedení jediného dotazu. Napište novou funkci do vašeho crud.php zapsanou níže:

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

Funkce nejprve zkontroluje, zda byl dotaz úspěšně proveden. Pokud ne, odešle chybu. Za druhé, zkontroluje, zda je počet řádků větší než 0 nebo ne. Pokud ano, odešle „Nuly nalezeny výsledky“. Nyní zavolejte tuto funkci v index2.php a napište následující kód:

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

Poté otevřete svůj prohlížeč a vyhledejte localhost/practice/index2.php a na své stránce index2.php najdete veškeré úložiště dat ve vaší databázi.

Aktualizovat dotaz pomocí připraveného výpisu

Dovolte nám napsat do vašeho souboru crud.php novou funkci pro provedení příkazu aktualizace:

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

Parametr aktualizace má tři parametry. Jedna je název sloupce, který je třeba aktualizovat, druhá je hodnota, která bude nahrazena předchozí hodnotou a třetí je ID řádku, ve kterém bude změněna. Nyní spusťte tuto funkci v index2.php :

include 'crud.php';


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

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

Až to uděláte, otevřete svůj prohlížeč a vyhledejte localhost/practice/index2.php a budete úspěšní, pokud nenastane žádná chyba.

Smazat dotaz pomocí připraveného výpisu

Dovolte nám napsat do vašeho souboru crud.php novou funkci pro provedení příkazu delete:

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

Parametr delete přebírá jeden parametr, kterým bude ID řádku, který je třeba z tabulky odstranit. Nyní spusťte tuto funkci v index2.php:

include 'crud.php';

$result = DeleteQuery(1);

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

Poté otevřete prohlížeč a vyhledejte localhost/practice/index2.php a pokud nedojde k žádné chybě, budete úspěšní.

Závěr

V tomto tutoriálu jsme se naučili spouštět CRUD v PHP a MySQL třemi různými způsoby. V dalším pokračování této série MySQL se budu zabývat klauzulemi o načítání dat MySQL. Zde je krátký úvod a seznam hlavních témat této série MySQL.

Pokud máte nějaké dotazy ohledně toho, co jsme se naučili v tomto tutoriálu, neváhejte se vyjádřit níže! Hodně štěstí! 🙂


  1. Jak funguje funkce CHARACTER_LENGTH() v MySQL

  2. Výhradní! Přidejte se k nám s naším hostem Michalem Barem, manažerem programu Access

  3. spojit datový sloupec oddělený čárkou

  4. SQLite Tutorial:Vše, co potřebujete vědět