Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

PDO universeel?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Mijn vraag is eigenlijk relatief simpel en is de volgende:

Ik ben bezig met een webapplicatie aan het ontwikkelen waar ik voor de eerste keer ooit een verbinding moet maken naar een MSSQL server 2008 R2. Ik heb al het één en ander zitten opzoeken en heb ondertussen ook de drivers geinstalleerd nl. php_pdo_sqlsrv_54_ts.dll & php_sqlsrv_54_ts.dll (Thread safety is enabled alsook werk ik met PHP versie 5.4.16 via Xampp).
Ik heb mijn extensie toegevoegd een mijn PHP.ini extension=php_pdo_sqlsrv_54_ts.dll & extension=php_sqlsrv_54_ts.dll en nu zie ik als ik de volgende code run var_dump(PDO::getAvailableDrivers()); dat de driver geladen is.

Nu is mijn vraag: Ik ben vooral gewoon om te werken met MySQL alsook zit ik nog in een zelfleerfase van PDO na een overstap van MySQLi en MySQL.

Mijn vraag is nu of het verdere verloop van de code min of meer gelijklopend is als ik PDO gebruik bij een MySQL server (phpmyadmin) ik veronderstel van wel maar wou dit toch even navragen

Voorbeeldcode PDO en MSSQL waar ik nu aan het opbouwen ben:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        $company        = $_POST['company'];
    $name       = $_POST['name'];
    $firstname      = $_POST['firstname'];
    $number     = $_POST['number'];
    $host       = $_POST['host'];
    $licenseplate   = $_POST['plate'];
    $reason     = $_POST['site'];
    
    
    $db = new PDO("sqlsrv:Server=MSSQLSERVER,1433;Database=***************", "***************", "************");

    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    
    $query = $db->prepare("INSERT INTO visitor (visit_name, visit_firstname, visit_company, visit_number, visit_plate, visit_in) VALUES (:lname, :fname, :company, :pnumber, :lplate, :tin)");
    
    $query->bindParam(":lname", $name);
    $query->bindParam(":fname", $firstname);
    $query->bindParam(":company", $company);
    $query->bindParam(":pnumber", $number);
    $query->bindParam(":lplate", $plate);
    $query->bindParam(":tin", $email);

....
....
....


Thx voor de info! ;)

  • Cartman!
  • Registratie: April 2000
  • Niet online
Uit de handleiding:
PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features. You should use a full-blown abstraction layer if you need that facility.
Je kan dus gewoon queries gebruiken voor beide zolang je maar zelf zorgt dat ze aan beide smaakjes SQL voldoen. Als je dit niet zelf in de gaten wil houden kun je kijken naar een DBAL als bijv. Doctrine.

Verder heeft phpMyAdmin niks te maken met MySQL server, dat is gewoon een los stukje software voor het beheer van je databases.

Verwijderd

Topicstarter
Cartman! schreef op vrijdag 17 januari 2014 @ 09:55:
Uit de handleiding:


[...]

Je kan dus gewoon queries gebruiken voor beide zolang je maar zelf zorgt dat ze aan beide smaakjes SQL voldoen. Als je dit niet zelf in de gaten wil houden kun je kijken naar een DBAL als bijv. Doctrine.

Verder heeft phpMyAdmin niks te maken met MySQL server, dat is gewoon een los stukje software voor het beheer van je databases.
Thx voor de duidelijke info. Hiermee kan ik zeker verder ;) Intussen al wat tests gedaan en het ziet er goed uit.