PDO

Voorbeeld PDO Simple 

 <?php

$servername = "localhost";

$username = "root";

$password = "";

$dbname = "student";

try {

 $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

 echo "Connected successfully";

}

catch(PDOException $e) {

 echo "Connection failed: " . $e->getMessage();

}

$sql="SELECT * FROM student";

$rows = $conn->query($sql)->fetchAll(); // get ALL rows

foreach($rows as $row) {

 // the tabel student has 4 columns

 echo "$row[0], $row[1], $row[2], $row[3]";

 echo "<br>";

}

$sql="SELECT max(id) FROM student";

$rows = $conn->query($sql)->fetch(); // get ONE rows

echo "Last (max) id is: $rows[0];";

$sql="INSERT INTO student (voornaam, achternaam, email) values ('Max','Bisschop','mb@email.com')";

$rows = $conn->query($sql);

?> 

 Voorbeeld PDO  (OOP en Ass. Array) 

 Simple PDO class for simple SQL queries, typically used when one connection is sufficient. 

 <?php

// Define DB Params

define("DB_HOST", "localhost");

define("DB_USER", "root");

define("DB_PASS", "geheim");

define("DB_NAME", "mydatabase"

class DB{

	protected $dbh;

	protected $stmt;

 protected $resultSet;

	public function __construct(){

		$this->dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME, DB_USER, DB_PASS);

 $this->resultSet=[];

	}

	public function execute($query){

		$this->stmt = $this->dbh->prepare($query);

		$result = $this->stmt->execute();

 if (! $result) {

			die('Oops, Error execute query '.$query.'Result code: '.$result.);

 }

		$this->resultSet = $this->stmt->fetchAll(PDO::FETCH_ASSOC);

		return count($this->resultSet);

	}

	public function getRow(){

		if (count($this->resultSet) >0 ){

			return array_shift($this->resultSet);

		} else {

 			return 0;

		}

	}

?> 

 Example use of this class 

 <?php

// This creates a new object $DB

// When you want to queries to be acitve

// ( f.e. at the same time update row by row where the rows are the result of a query )

// Create a second connection, f.e. $secondCon = new DB

require_once('db.php');

$sqlquery="SELECT name, age FROM USERS";

$DB->execute($sqlquery);

// get rows (not for updates or inserts)

while ($row = $DB->getRow()) {

	echo $row['name']." is ".$row['age']." years old";

}

?>