PDO prisijungimas prie duomenu bazes MySQL

Kažkada rašiau kodą PDO prisijungimas prie duomenų bazes bei duomenų ištraukimas , trynimas bei atnaujinimas. Tuo metu mokausi kaip pasijungti prie duomenų bazes ir kažkur perskaičiau kad tas būdas yra saugesnis negu mysql_connect.

Prisijungimas prie duomenu bazes. (Ši kodą dažniausiai įterpiu į atskirą failą. Connect_db.php)

<?php
$db = new PDO(‘mysql:host=localhost;dbname=duomenuBazesPavadinimas;charset=utf8’, ‘root’);

// Nesėkmingo prisijungimo atveju PDO nutrauks programos vykdymą ir
// i��auks „exception“. Mes galim „pagauti“ čia klaidą ir nuspresti ką
// daryti neprisijungus prie duomenų bazės:
try {
$db = new PDO(‘mysql:host=localhost;dbname=portfolio;charset=utf8’, ‘root’);
//echo ‘prisijungti pavyko’;
} catch (PDOException $e) {
// čia galim išsisiūsti sau emailą, įrašyti į logą ir t.t.
    // Informaciją apie klaidą galima gauti per $e->getMessage()
echo „Nepavyko prisijungti prie duomenu bazes“; exit;
}
?> 

Duomenų išvedimas iš duomenų bazes:

<?php
include(‘connect_db.php’);
$select = $db->prepare(„SELECT * FROM lentesPavadinimas ORDER BY id DESC“);
$row = $select->fetch();
$select->execute();

/* Duomenu išvedimas naudojant cikla while () * sukuriama lentelė/
while ($row = $select->fetch()) {

echo „<div id=’content’>“;
echo „<div class=’content_text’>“;
echo „<table>“;
echo „<tr>“;
echo „<td><div class=’td_logo’><img src=’http://localhost/portfolio/image/$row[logo]’/></div></td>“;
echo „<td><div class=’td_info’>$row[info]</div></td>“;
echo „<td><div class=’td_adress’>$row[adress]</div></td>“;
echo „</tr>“;
echo „</table>“;
echo „<hr/>“;
echo „</div>“;
echo „</div>“;
}

?>

Trinimas duomenu iš duomenu bazes:

/* Prisijungimas prie duomenu bazes */ 

include(‘connect_db.php’);

if ($_GET[‘edit’]){
$delete = $db->prepare(„DELETE FROM lentelesPavadinimas where id = :id“);
$delete->bindValue(‘:id’, $_GET[‘edit’], PDO::PARAM_INT);
$delete->execute(array(‘:id’ => (int)$_GET[‘edit’]));

header(‘location:admin.php’);

} else {echo ‘ Ištrinti nepavyko ‘;}

Duomenu atnaujinimas pagal id :

if (isset($_POST[‘id’])) {
// Analogiškas PDO pavyzdys, kabučių SQL komandoj nereikia
$update= $db->prepare(‘UPDATE lentelesPavadinimas SET logo = :logo, info = :info ,adress = :adress WHERE id = :id’);
   // Parametrų reikšmės nustatomos atskirai
$update->bindValue(‘:logo’, $_POST[‘logo’], PDO::PARAM_STR);
$update->bindValue(‘:info’, $_POST[‘info’], PDO::PARAM_STR);
$update->bindValue(‘:adress’, $_POST[‘adress’], PDO::PARAM_STR);
$update->bindValue(‘:id’, $_POST[‘id’], PDO::PARAM_INT);
$update->execute(array(‘:logo’ => $_POST[‘logo’],’:info’ => $_POST[‘info’],’:adress’ => $_POST[‘adress’], ‘:id’ => (int)$_POST[‘id’]));
header(‘location:admin.php’);
//echo ‘duomenis atnaujinti pagal id—–‘;
//echo $_POST[‘id’].'<br>’;
//echo $_POST[‘info’].'<br>’;
//echo $_POST[‘adress’].'<br>’;
} else {echo ‘DUOMENYS NEPAVYKO ATNAUJINTI’; }

  Duomenu iterpimas į duomenu baze : 

<?php

/* Prisijungimas prie duomenu bazes */ 


include(‘connect_db.php’);

if (empty($_POST[‘logo’]) or empty($_POST[‘info’]) or empty($_POST[‘adress’]) ){

echo “ uzpildykite duomenys „; }
else {

$insert = $db->prepare(„INSERT INTO lentelesPavadinimas SET logo = :logo, info = :info, adress =:adress“);
$insert->bindValue(‘:logo’, $_POST[‘logo’], PDO::PARAM_STR);
$insert->bindValue(‘:info’, $_POST[‘info’], PDO::PARAM_STR);
$insert->bindValue(‘:adress’, $_POST[‘adress’], PDO::PARAM_STR);
$insert->execute(array(‘:logo’ => $_POST[‘logo’],’:info’ => $_POST[‘info’],’:adress’ => $_POST[‘adress’]));

header(‘location:admin.php’);
}

?>

Palikite komentarą