Ben probeer mijzelf pdo meester te maken maar vindt het nog best heel moeilijk. Bijvoorbeeld, hoe zet ik de volgende mysqli functies om naar pdo?

public $db;

function __construct(){
$this->db_connect('localhost','root','password','database');
}

function db_connect($host,$user,$pass,$database){
$this->db = new mysqli($host, $user, $pass, $database);

if($this->db->connect_errno > 0){
die('Unable to connect to database [' . $this->db->connect_error . ']');
}
}


alvast bedankt
mysqli is iets anders dan pdo.
Met mysqli kan je alleen praten met een mysql database, met pdo kan je verschillende smaken databases gebruiken.

Op zich is dat niet zo lastig:

<?php 
// hier gebruik je al een oo manier van schrijven
$db = new PDO('mysql:host=localhost;dbname=test','user','password'); 

$sql = "SELECT naam FROM tabel"; 
$results = $db->query($sql); 

foreach($results as $row) 
{ 
    echo $row['naam'].'<br>'; 
} 
?>
Hi Bart. Bedankt voor je reactie.

de $db = new PDO('mysql:host=localhost;dbname=test','user','password'); weet ik te gebruiken, maar hoe zet ik de bovenstaande mysqli functies om naar pdo

Ik heb gezocht op php pdo __construct() en op dbconnect maar kom er niet uit hoe ik de bovenstaande functies naar pdo moet omzetten.

Ik zou het op prijs stellen als je me in de juiste richting kunt helpen
Mischien heb je hier iets aan ?
$postquery = "SELECT * FROM tabel"; 
$KIESEENNAAM= $pdo->query($postquery);

while ($row = $KIESEENNAAM->fetch()): 
 
echo htmlspecialchars($row['UWROWNAAM']);

endwhile;  


EDIT:
Mijn Database connectie ziet er als volgend uit:

try { 
$pdo = new PDO('mysql:host=####;dbname=####', '####', '####'); 
}
catch( PDOException $e )
{
    die( $e->getMessage() );
} 
Hi Jaimy bedankt voor de reactie.

Voor een andere website heb ik precies dezelfde connectie gebruikt, alleen maken de bovenstaande functies maken deel uit van een class, dus ik probeer de zelfde structuur aan te houden alleen dan in pdo.

Hi Bart, het enige dat nodig is, is de onderstaande functies letterlijk omzetten van mysqli (wat ze nu zijn) naar pdo, dat is alles :)

public $db;

function __construct(){
$this->db_connect('localhost','root','password','database');
}

function db_connect($host,$user,$pass,$database){
$this->db = new mysqli($host, $user, $pass, $database);

if($this->db->connect_errno > 0){
die('Unable to connect to database [' . $this->db->connect_error . ']');
}
}

Toevoeging op 14/08/2014 08:29:35:

Ik heb het op de volgende manier opgelost. Boven de class maak ik de connectie met de database:

require_once('connect.php');

en vervolgens heb ik de volgende functie aan de class toegevoegd:

protected $pdo;
function __construct($pdo) {
$this->pdo = $pdo;
}

Werkt prima. Bedankt voor al jullie input.


Reageren