SQARIM PËR EMRIN: Skedari i të dhënave quhet në gjuhën shqipe me emra të ndryshëm tani, për shembull databezi, databejzi, databazi, databasi dhe disa emra të tjerë të pakuptimtë shqip. Ne e quajmë këtë skedar tek Porta ose "skedar me të dhëna" ose "bazë e të dhënave", nga data = e dhënë dhe base = bazë.
Në këtë mësim tregohet lidhja me skedarin e të dhënave në formatin MySQL. Në këtë skedar vendosen të dhënat në tabelë. Kjo tabelë ka shtylla me emra. Këto të dhëna tregohen në faqe, sipas kërkesës sonë.
Tabela e këtij mësimi ka tre shtylla me këta emra:
Kështu duket kjo tabelë vizualisht:
| numri_id | emri | mbiemri |
| 1 | Drenusha | Gashi |
| 2 | Bardh | Bytyqi |
| 3 | Edon | Krasniqi |
| 4 | Drenush | Kelmendi |
| 5 | Edona | Morina |
| 6 | Bardha | Berisha |
Në MySQL krijohet tabela me kod me këtë komandë në gjuhën SQL (theksohet: sikuëll, nga germat anglisht Es, Kju, Ell):
CREATE TABLE IF NOT EXISTS `anëtarët` (
`numri_id` smallint(6) NOT NULL auto_increment,
`emri` varchar(250) NOT NULL default '',
`mbiemri` varchar(250) NOT NULL default '',
PRIMARY KEY (`numri_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
| Kodi | Sqarimi |
| CREATE TABLE IF NOT EXISTS `anëtarët` | Krijo tabelën nëse nuk ekziston me emrin anëtarët. Tek MySQL mund të përdoren pa asnjë pengesë shkronjat shqipe për emër të tabelës. |
| `numri_id` smallint(6) NOT NULL auto_increment, | Krijo shtyllën me emrin `numri_id`, me numrin e plotë të vogël (small integer) me gjashtë shifra (000000 deri 999999), jo zero, me rritje automatike të numrit. Rritja automatike do të thotë se kur shtohet një e dhënë e re numri rritet automatikisht. Për shembull nëse ekzistojnë pesë të dhëna, e dhëna e re e ka numrin gjashtë. Rritja e numrit në këtë mënyrë na duhet sepse këtë numër do ta përdorim ne për identifikim të të gjitha të dhënave të shtuar për atë rresht në tabelë. |
| `emri` varchar(250) NOT NULL default '', | Krijo fushën me emrin `emri` me madhësi deri 250 shkronja. Për të dhëna me më shumë shkronja kjo fushë nuk është e përshtatshme. Për shembull për përmbajtje të gjatë me tekst mund të përdorim TEXT (me hapërsirë ~64kb) ose LONGTEXT (me hapësirë ~4GB). |
| PRIMARY KEY (`numri_id`) | Çelësi kryesor është shtylla e krijuar me emrin e dhënë nga ne `numri_id` (numri identifikues). |
| ENGINE=MyISAM | Lloji i makinës për ruajtje është MyISAM. MyISAM është përdorur deri me versionin MySQL 5.5. Tani përdoret makina InnoDB. Përparësitë e makinës InnoDB janë se në rast të problemeve me bazë të të dhënave nuk ka nevojë që të skanohen të gjitha të dhënat në tabelën e prishur, por vetëm të dhënat e regjistruara në ditar. |
| CHARSET=latin1 | CHARSET është shkurtesë për Character Set. Këtu caktohet kodi i germave për të dhënat e shtuara. Tek MySQL kodi latin1 është kod për të gjitha shkronjat e gjuhëve Indo Europiane, pra edhe gjuhën shqipe si anëtare e kësaj familje. |
Pas krijimit i fusim të dhënat në tabelë kështu:
INSERT INTO `anëtarët` (`numri_id`, `emri`, `mbiemri`) VALUES
(1, 'Drenusha', 'Gashi'),
(2, 'Bardha', 'Bytyqi'),
(3, 'Edon', 'Krasniqi'),
(4, 'Drenush', 'Kelmendi'),
(5, 'Edona', 'Morina'),
(6, 'Bardh', 'Berisha');

Dhe kështu e bëjmë ne lidhjen me bazën tonë të dhënave në MySQL (lexo sqarimin në fund)
<?php
$furnizuesi = "serveri.mysql.portashqipe.com";
$përdoruesi = "studenti";
$fjalëkalimi = "dituria";
$skedari = "mesime_nga_porta";
$tabela = "anëtarët";
mysql_connect ($furnizuesi, $përdoruesi, $fjalëkalimi);
$rezultati = mysql_db_query ($skedari, "select * from $tabela");
while ($rendi = mysql_fetch_assoc ($rezultati))
{
echo $rendi ["numri_id"];
echo " ";
echo $rendi ["emri"];
echo " ";
echo $rendi ["mbiemri"];
echo "<br>";
}
mysql_free_result ($rezultati);
?>
VËREJTJE PËR FILLESTARË: Të gjitha të dhënat për lidhje me server në këtë mësim nuk ekzistojnë. Ato janë të trilluara. Ju duhet të përdorni të dhënat e serverit tuaj dhe me emrin tuaj të përdoruesit.
Kjo kërkesë i tregon kështu të dhënat në faqe:
| Kodi | Sqarimi |
| $... | emri i ndryshores, funksion i cili merr përsipër atë që është pas barazimit |
| mysql_connect | funksion për marrjen e lidhjes me skedarin me të dhëna në MySQL |
| $rezultati | emri i ndryshores sonë për tregimin e rezultatit |
| select * from $tabela | zgjedh të gjitha (shenja *) nga tabela (shiko emrin e tabelës tek kjo ndryshore) |
| mysql_db_query | funksion për kërkesën e tregimit të të dhënave nga skedari |
| while | funksion i cili fillon tregimin e të gjitha fushave nga skedari, me përsëritje |
| mysql_fetch_assoc | funksion i cili fillon tregimin prej fushës së parë e më tutje |
| $rendi | emër i funksionit i krijuar nga ne i cili e tregon rezultatin e funksionit të kërkesës |
| echo | do të thotë trego në faqe |
| mysql_free_result | liro kujtesën e serverit, nuk ka nevojë që të bëj më ai asgjë tani |
Funksioni while i zgjedh të dhënat duke përsëritur të njëjtin veprim deri në fund të tabelës. Me funksionin echo e tregojmë fushën me emrin në mes thonjëzave.
Në vend që të rendisim rreshtat veç e veç, mund të përdorim pikën për lidhje të pjesëve. Për shembull kështu:
echo $rendi ["numri_id"] . " " . $rendi ["emri"] . " " . $rendi ["mbiemri"] . "<br>" ;
Përparësi e të dhënava nga baza është se tani kemi mundësi që të kërkojmë tregimin e shënimeve sipas dëshirës sonë dhe jo ashtu sikur që janë vendosur në tabelë. Për shembull nëse dëshirojmë që renditja të bëhet sipas emrit atëherë e bëjmë këtë me funksionin order by. Pasi që përmbajtja është vetëm tekst mund të tregojmë miliona të dhëna brenda një sekonde nga serveri ynë.
$rezultati = mysql_db_query ($skedari, "SELECT * FROM $tabela ORDER BY emri");
Përpos tregimit të të dhënave kështu kemi mundësi që të kërkojmë vetëm të dhënat në të cilat jemi të interesuar.
MyAdmin mundėson marrjen e lidhjes me bazėn e tė dhėnave nė rrjet. Ky program pėrdoret kryesisht edhe nga furnizuesit e rrjetit tė internetit.