PHP PDO:
SOMO LA KWANZA
Katika somo hili utakwenda kujifunza maana ya PDO na faida zake.
Ni nini maana ya PDO?
PDO ni kifupisho cha maneno Php Data Object, ni extension ya PHP ambayo hutumika katika ku access aina mbalimbali za database kwa kutumia PHP. kwa kutumia PDO code hizo hizo unaweza kuzitumia kwenye database nyingine tofauti na ilivyo kwa kutumia mysqli.
Faida za PDO
- Hurahisisha katika kutumia aina nyingine za database
- Ni rahisi kutumiwa kwenye OOP
- Inaongeza usalama zaidi
Database ambazo hutumika kwenye PDO
- Mysql
- PostgreSQL
- Oracle
- Firebird
- MS SQL Server
- Sybase
- Informix
- IBM
- freeTDS
- SQLite
- Cubrid
- 4D
PDO Classes:
Kuna class 3 ambazo hutumika kwenye PDO ambazo ni:-
- PDO: hii ndio hutumika kwenye connection kati ya PHP na database
- PDOStatement hii ndio sehemu ambayo ina prepared statement baada ya ku execute sql statement
- PDOException hii ndio sehemu ambayo inatumika kuonyesha error zinazotarajiwa kutokea.
Jinsi ya kuunganisha database:
Sasa tutaanza kujifunz ajinsi ya kuunganisha database. Hapa nitatumia njia mbili mbili. Ila kwanza tengeneza database ambayo tutakwenda kuitumia. Kama unakumbuka somo lililotangulia tulitumia database inaitwa matokeo. Hivyo ndio tunakwenda kuitumia.
Mfano:
<?php
$dbHost="localhost";
$dbName="matokeo";
$dbUser="root";
$dbPassword="";
try{
$conn= new PDO("mysql:host=$dbHost;dbname=$dbName",$dbUser,$dbPassword);
//Set the PDO error mode to exception.
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Echo "Database imeunganishwa";
} catch(Exception $e){
Echo "Imefeli kuunganishwa" . $e->getMessage();
}
?>
Maelezo:
Ukiangalia hapo mwanzoni kabisa tumetumia try na d catch block. Hizi ni block mbili ambazo tuzo tunakwend akuzifanyia kazi hapa
try{
}catch{
}
Try block:
Ndani ya try ni kuwa unakwenda kuangalia hapa ndipo ambapo panakaa code ambazo zinakwenda kutupa exception. Hizi exceptions ni kila ambacho kinatarajiwa kutokea kwenye hizo code ikiwa ni error. Hapa ndipo tunaweka code tunazotaka zifanye kazi yetu ya kuunganisha database.
Catch block:
Katika block hii ndio ambayo tunaweza exceptions zilizotokea katika error. Hapa ndipo patatupa messeji ya error husika.
Hatuwa inayofuata ni kutengeneza object ya PDO class ili kuweza kuunganisha database new PDO() property za object zitakaa ndani hapo ambazo ni host, dbname na password.
Baada ya hapo unaona kuta method ta setattribute() hi ndio ambayo ina control tabia ya database. Hapo unaweza ku set error mode ili iweze ku ripoti error endapo kuna hitilafu itatokea.
Kisha kwenye catch kuwa exception zenyewe. Ambapo zitakuwa zina ripoti error. Code hizo hapo juu zimeconnect database. Pia unaweza kuziandika bila hata ya kutumia setAttribute:
<?php
$dbHost="localhost";
$dbName="matokeo";
$dbUser="root";
$dbPassword="n";
try{
$conn= new PDO("mysql:host=$dbHost;dbname=$dbName",$dbUser,$dbPassword);
Echo "Database imeunganishwa";
} catch(Exception $e){
Echo "Imefeli kuunganishwa";
}
?>
Hapo haitoweza ku report error, vinginevyo kama kuna shida itasema tu imefeli kuunganishwa na kama hakuna shida tasema Dartabase imeunganishwa. Jaribu kukosea password uone mabadiliko.
Kufunga connection:
Sasa baada ya ku connect pia utakubidi ujuwe namna ya kufunga connection. Katika PDO unapotaka kufunga connection utatumia null angalia mfano hapo chini:-
<?php
$dbHost="localhost";
$dbName="matokeo";
$dbUser="root";
$dbPassword="";
try{
$conn= new PDO("mysql:host=$dbHost;dbname=$dbName",$dbUser,$dbPassword);
Echo "Database imeunganishwa";
} catch(Exception $e){
Echo "Imefeli kuunganishwa";
}
$conn = null;
?>
Mwisho:
Somo linalofuata tutakwend akujifunza jinsi ya kuingiza data kwenye database kwa kutumia PDO.