Hoe zet ik deze mysqli functies om naar pdo

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Donald Boers

Donald Boers

13/08/2014 22:18:04
Quote Anchor link
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
 
PHP hulp

PHP hulp

27/04/2024 21:23:23
 
Bart V B

Bart V B

13/08/2014 22:29:51
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?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>';
}

?>
 
Donald Boers

Donald Boers

13/08/2014 22:43:47
Quote Anchor link
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
Gewijzigd op 13/08/2014 22:50:03 door Donald Boers
 
Jaimy A

Jaimy A

13/08/2014 22:53:03
Quote Anchor link
Mischien heb je hier iets aan ?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
try {
$pdo = new PDO('mysql:host=####;dbname=####', '####', '####');
}
catch( PDOException $e )
{
    die( $e->getMessage() );
}
Gewijzigd op 13/08/2014 22:54:56 door Jaimy A
 
Donald Boers

Donald Boers

13/08/2014 23:13:44
Quote Anchor link
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.
 
Bart V B

Bart V B

13/08/2014 23:13:52
Quote Anchor link
Ik begrijp je vraag niet helemaal.
Wil je een eigen class maken over PDO heen?
http://www.imavex.com/php-pdo-wrapper-class/
 
Donald Boers

Donald Boers

13/08/2014 23:32:01
Quote Anchor link
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.
Gewijzigd op 13/08/2014 23:32:42 door Donald Boers
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.