PHP MYSQL PDO - kompendium: Różnice pomiędzy wersjami

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania
m
Linia 46: Linia 46:
== Bezpieczny UPDATE czyli bindowanie ==
== Bezpieczny UPDATE czyli bindowanie ==
<source lang="php">
<source lang="php">
$d=$dbh->prepare("UPDATE  nazwatabeli SET  `pole1` =  :pole1, `pole2`=:pole2");
$d=$dbh->prepare("UPDATE  nazwatabeli SET  `pole1` =  :pole1, `pole2` = :pole2");
$d->bindValue(":pole1",$pole1);
$d->bindValue(":pole1",$pole1);
$d->bindValue(":pole2",$pole2);
$d->bindValue(":pole2",$pole2);

Wersja z 23:29, 21 lis 2011

Połączenie z bazą oraz ustawienie kodowania znaków na UTF-8

<source lang="php"> <?php /*** mysql hostname ***/ $hostname = 'localhost';

/*** mysql username ***/ $username = 'login';

/*** mysql password ***/ $password = 'haslo';

//baza danych $database='nazwabazydanych';

try {

   $dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
   /*** echo a message saying we have connected ***/
   //echo 'Connected to database';
   }

catch(PDOException $e)

   {
   exit ($e->getMessage());
   }

$sql_set_utf = "SET CHARSET utf8"; $dbh->query($sql_set_utf);


mb_internal_encoding( 'UTF-8' ); ?> </source>


Bezpieczny INSERT czyli bindowanie

<source lang="php"> $b=$dbh->prepare("INSERT INTO users (`username`,`password`,`email`,`key`) VALUES (:username,:password,:email,:key)"); $b->bindValue(":username",$username); $b->bindValue(":password",$password); $b->bindValue(":email",$email); $b->bindValue(":key",$password); $b->execute(); </source>


Bezpieczny UPDATE czyli bindowanie

<source lang="php"> $d=$dbh->prepare("UPDATE nazwatabeli SET `pole1` = :pole1, `pole2` = :pole2"); $d->bindValue(":pole1",$pole1); $d->bindValue(":pole2",$pole2); $d->execute(); </source>