PHP MYSQL PDO - kompendium
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>
Bezpieczne KASOWANIE DELETE czyli bindowanie
<source lang="php"> $b=$dbh->prepare("DELETE FROM tokens WHERE tokenid=:tokenid"); $b->bindValue(":tokenid",(int)$tokenid); $b->execute(); </source>