Katika somo hili utakwend akujifunza jinsi ya kutengeneza tabe na kuingiza data kw akutumia PDO:
Kabla hujaanza somo hili hakikisha una uwelewa wa database na php, na kama bado vyema urudi kwenye mafunzo yetu ya nyuma.
Sasa hapa kwanza tutakwenda kutengeneza database yenye jina wanafunzi, kisha tutatengeneza table yenye jina matokeo. Kamtika kutengeneza database na table yake tutatumia IF NOT EXISTS kwenye query ili kunagalia kama database ipo hatutatengeneza, na kama table ipo pia hatutaitengeneza.
Baada ya kutengeneza database tutatumia use query ili kuweza kuitumia. Tutaitajika kuitumia hoyo database tulioitengeneza ili kuweza kutengenza table.
Ili tuweze ku excute code za sql kwa kutumia php kwenye PDO tutatumia function inayoitwa exec() ambapo ndani yake ndipo tutaweka command za sql.
Mfano:
- Kutengeneza database tutatumia
$createDatabaseQuery = "CREATE DATABASE IF NOT EXISTS $dbName";
$conn->exec($createDatabaseQuery);
- Kuitumia database
$conn->exec("USE $dbName");
- Kutengeneza database
// Create the table
$createTableQuery = "
CREATE TABLE IF NOT EXISTS matokeo (
id INT AUTO_INCREMENT PRIMARY KEY,
jina VARCHAR(255) NOT NULL,
alama INT NOT NULL
)
";
$conn->exec($createTableQuery);
Utaona hapo function ya exec() imetumika ili kuweza ku run sql query. Sasa waca tuone code zote kwa pamoja zinakuwaje:-
Code zote zitakuwa hivi:
<?php
$dbHost = "localhost";
$dbName = "wanafunzi";
$dbUser = "root";
$dbPassword = "";
try {
$conn = new PDO("mysql:host=$dbHost", $dbUser, $dbPassword);
echo "Database imeunganishwa";
// Create the database if it doesn't exist
$createDatabaseQuery = "CREATE DATABASE IF NOT EXISTS $dbName";
$conn->exec($createDatabaseQuery);
// Switch to the newly created database
$conn->exec("USE $dbName");
// Create the table
$createTableQuery = "
CREATE TABLE IF NOT EXISTS matokeo (
id INT AUTO_INCREMENT PRIMARY KEY,
jina VARCHAR(255) NOT NULL,
alama INT NOT NULL
)
";
$conn->exec($createTableQuery);
echo "Database 'wanafunzi' na table 'matokeo' zimeundwa";
} catch (Exception $e) {
echo "Imefeli kuunganishwa";
echo $e->getMessage();
}
$conn = null;
?>
Sasa hatuwa inayofuata ni kuingza data wenye database yetu. Hapa ttabadilisha kidogo query zetu za hapo awali. Kwanza tutaitaja database wakati wa kuunganisha kama ilivyo kwenye somo la kwanza.
<?php
$dbHost = "localhost";
$dbName = "wanafunzi";
$dbUser = "root";
$dbPassword = "";
try {
$conn= new PDO("mysql:host=$dbHost;dbname=$dbName",$dbUser,$dbPassword);
echo "Database imeunganishwa";
$userDataQuery = "INSERT INTO matokeo (jina, alama) values ('Daudi', 35)";
$conn->exec($userDataQuery);
} catch (Exception $e) {
echo "Imefeli kuunganishwa";
echo $e->getMessage();
}
$conn = null;
?>
Sasa ngoja tuone jinsi ya kuweka multiple data kwenye database. Hapa tunakwenda kuongeza data za Mwajuma, Baraka na Rehema.
Kwanza kabisa tutaweka data zetu kwenye array. Array ni variable ambayo inaweza kubeba data zaidi ya moja.
$usersData = [
['Mwajuma', 45],
['Baraka', 50],
['Rehema', 39],
];
Ksha tutatuma foreach loop ili kuweza ku iterate kila data moja kwenye array yetu.
foreach ($usersData as $userData) {
$userDataQuery->execute($userData);
}
Code zote zitaonekana hivi:
<?php
$dbHost = "localhost";
$dbName = "wanafunzi";
$dbUser = "root";
$dbPassword = "";
try {
$conn= new PDO("mysql:host=$dbHost;dbname=$dbName",$dbUser,$dbPassword);
echo "Database imeunganishwa";
// Define an array of user data
$usersData = [
['Mwajuma', 45],
['Baraka', 50],
['Rehema', 39],
];
// Prepare the INSERT statement
$userDataQuery = $conn->prepare("INSERT INTO matokeo (jina, alama) VALUES (?, ?)");
// Loop through the array and execute the query for each set of data
foreach ($usersData as $userData) {
$userDataQuery->execute($userData);
}
echo "Data zimeingizwa kwenye table matokeo";
} catch (Exception $e) {
echo "Imefeli kuunganishwa";
echo $e->getMessage();
}
$conn = null;
?>
Mwisho:
Tukutane katika somo linalofuata tutakwenda kujifunza jinsi ya ku soma hizo data kwa kutumia PDO,