Tutakwend akutumia database yetu iliotangulia na data zilezile sasa kumbuka unapotaka kuedit data kwenye database utatakiwa kutumia id yake ama column ambayo ni unique kwa sisi hapo coumn ambayo ni unique ni id. Hivyo tutatakiwa kuijuwa id ya mwanafunzi ambaye tunataka ku edit jina lake.
Mfano tunataka kubadili ina la mwajuma kuwa mwanaisha Sasa zingatia kuwa jina la mwajuma lipo id ya 3, hivyo tutakwenda kutumia id hiyo ili kubadili jina. Sasa hapa nitakwenda kutengeneza function ya ku edit taarifa
function editRecord($conn, $id, $jina) {
$query = "UPDATE matokeo SET jina = :jinaJipya WHERE id = :id";
$stmt = $conn->prepare($query);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':jinaJipya', $jina);
// Execute the update query
$stmt->execute();
}
Kama utaiangalia function hii utaona kuna utofauti kifogo wa hizi code toka tulipoanza kuselect somo lililotangulia na hapa Tofauti na kutumis prepared statement ambapo huwa tunaweka alama ya ? mfano update matokeo set jina =? Where id =?. Sasa hii njia ya vidoi kama unavyoona hapo update matokeo set jina =:jina-jipya hii inatuwezesha sisi kuipa jina parameter yetu tofauti na jina la awali.
Njia hii unaweza pia kuitumia kwenye query nyinginezo kama za ku select. Mfano
$query = "SELECT * FROM users WHERE username = :username AND email = :email";
$stmt = $conn->prepare($query);
$username = 'john_doe';
$email = 'john@example.com';
$stmt->bindParam(':username', $username);
$stmt->bindParam(':email', $email);
Code zote zitaonekana hivi:
<?php
$dbHost = "localhost";
$dbName = "wanafunzi";
$dbUser = "root";
$dbPassword = "";
try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPassword);
// Function to edit a record in the database
function editRecord($conn, $id, $jina) {
$query = "UPDATE matokeo SET jina = :jinaJipya WHERE id = :id";
$stmt = $conn->prepare($query);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':jinaJipya', $jina);
// Execute the update query
$stmt->execute();
}
// Example: Edit the record with ID = 1 and set the new name to 'New Name'
editRecord($conn, 3, 'Mwanaisha');
// Code to read data from the database
$query = "SELECT * FROM matokeo";
$stmt = $conn->prepare($query);
$stmt->execute();
// Fetch data using fetchAll
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// You can iterate through the result and do something with each row
foreach ($result as $row) {
// Access individual columns using $row['column_name']
echo "ID: " . $row['id'] . ", Name: " . $row['jina'] . "<br>";
}
} catch (PDOException $e) {
echo "Imefeli kuunganishwa: " . $e->getMessage();
} finally {
// Close the connection
$conn = null;
}
?>
Utaona hapo mwanzoni id 3 ilikuwa ni mwajuma lakini sasa ni mwanaisha. Sasa nataka nirudie mfano huo huo kwa kutumia prepared statement kama ambavyo tulikuwa tukifanya toka awali. Katika mfano huu tunakwenda kubadili id 5 ambayo ji rehema kuwa HURUMA
<?php
$dbHost = "localhost";
$dbName = "wanafunzi";
$dbUser = "root";
$dbPassword = "";
try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPassword);
// Function to edit a record in the database
function editRecord($conn, $id, $jina) {
$query = "UPDATE matokeo SET jina = ? WHERE id = ?";
$stmt = $conn->prepare($query);
$stmt->bindParam(1, $jina);
$stmt->bindParam(2, $id);
// Execute the update query
$stmt->execute();
}
editRecord($conn, 5, 'Huruma');
// Code to read data from the database
$query = "SELECT * FROM matokeo";
$stmt = $conn->prepare($query);
$stmt->execute();
// Fetch data using fetchAll
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// You can iterate through the result and do something with each row
foreach ($result as $row) {
// Access individual columns using $row['column_name']
echo "ID: " . $row['id'] . ", Name: " . $row['jina'] . "<br>";
}
} catch (PDOException $e) {
echo "Imefeli kuunganishwa: " . $e->getMessage();
} finally {
// Close the connection
$conn = null;
}
?>
Sasa tunakwenda kumaliza na kufuta data kwenye database kwa kutumia PDO. tunakwenda kumfuta Baraka ambaye ID yake ni 4.
<?php
$dbHost = "localhost";
$dbName = "wanafunzi";
$dbUser = "root";
$dbPassword = "";
try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPassword);
// Function to delete a record from the database
function deleteRecord($conn, $id) {
$query = "DELETE FROM matokeo WHERE id = ?";
$stmt = $conn->prepare($query);
$stmt->bindParam(1, $id);
// Execute the delete query
$stmt->execute();
}
// Example: Delete the record with ID = 4
deleteRecord($conn, 4);
// Code to read data from the database
$query = "SELECT * FROM matokeo";
$stmt = $conn->prepare($query);
$stmt->execute();
// Fetch data using fetchAll
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// You can iterate through the result and do something with each row
foreach ($result as $row) {
// Access individual columns using $row['column_name']
echo "ID: " . $row['id'] . ", Name: " . $row['jina'] . "<br>";
}
} catch (PDOException $e) {
echo "Imefeli kuunganishwa: " . $e->getMessage();
} finally {
// Close the connection
$conn = null;
}
?>
Mwisho:
Somo linalofuata ni project ambapo tunakwenda kutengeneza mfumo mzima wa CRUDE operation kwa kutumia PDO. project hii ni muendeleo wa project ya crude operation ambayo tuliifanya mwishoni mwa somo la OOP. hivyo unaweza kui download na kuipitia kama bado. Hakikisha una ufahamu wa ktosha kuhusu OOP ili kuweza kuelewa project unayofuata.