⊗ppSpPDCn 56 of 83 menu

PHP да PDO орқали БД билан боғланиш

Келинг, PDO орқали БД билан боғланишни амалга оширамиз. Бошлаш учун кириш маълумотларини ўзгарувчиларга ёзамиз:

<?php $host = 'localhost'; // хост номи (оддатий ҳолда, ҳамиша шундай) $db = 'test'; // БД номи $user = 'root'; // БД га кириш учун фойдаланувчи номи $pass = 'root'; // БД га кириш учун парол ?>

Энди биз махсус форматда сатр тайёрлашимиз керак. Ушбу сатрда биз фойдаланилаётган БД турини (оддатий ҳолда, 'mysql'), хост номи ва БД номини кўрсатишимиз керак:

<?php $dsn = "mysql:host=$host; dbname=$db; charset=utf8"; ?>

Сўнгра PDO опциялари массивини яратамиз, уларни иш жараёнида фойдаланамиз (ҳозирча уларга чуқур эътибор берманг):

<?php $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; ?>

Энди биз юқорида эълон қилинган ўзгарувчиларни фойдаланиб, маълумотлар базасига уланишни амалга оширишимиз мумкин:

<?php $pdo = new PDO($dsn, $user, $pass, $opt); ?>

Юқорида келтирилган код ёки маълумотлар базасига уланади, ёки истисно ташлайди. Шу сабабдан, уланишни try-catch конструкциясига ўраб қўйиш тўғрироқ бўлади:

<?php try { $pdo = new PDO($dsn, $user, $pass, $opt); echo 'DB is connected'; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>

Тўлиқ код шундай кўринишда бўлади:

<?php $host = 'localhost'; $db = 'test'; $user = ''; // БД га кириш учун фойдаланувчи номи $pass = ''; // БД га кириш учун парол $charset = 'utf8'; $dsn = "mysql:host=$host; dbname=$db; charset=$charset"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try { $pdo = new PDO($dsn, $user, $pass, $opt); echo 'DB is connected'; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>

Ўзингизнинг БД ингиз билан дарсда тавсифланган усул билан уланишни ўрнатинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш