Forum > Övriga serverspråk > PHP
Hallå.
Jag funderar lite på det här med PHP och hur PHP hanterar anslutningar till MySQL.
Det finns ju många olika sätt att ansluta sig till en MySQL databas.
Variant 1: MySQL (http://php.net/manual/en/book.mysql.php)
$db = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
Sen finns mysqli (http://php.net/manual/en/book.mysqli.php)
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
Det tredje alternativet jag har hittat är PDO (http://php.net/manual/en/book.pdo.php)
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
Vilken av dessa tre är bäst nar man jobbar med databaser? Jag har läst runt en del och många verkar rekommendera PDO och när jag lekt lite med PDO så är det väldigt smidigt faktiskt.
Jag har planer på att försöka skapa en egen databas klass och vill du använda mig utav det bästa sättet PHP snackar med databaser med, och det bör ju vara något av dessa om det inte finns fler jag har missat.
Vad bör man tänka på när man planerar en databas klass? Vad skall en databas klass kunna göra?
Öppna, stänga databas, hantera SELECT, UPDATE, DELETE och INSERT? Något mer den ska kunna? Kanske ta hand om felmeddelande på ett bra sätt och även skydda mot SQL injektioner?
Lite tips och råd på vad man skall tänka på när man gör en databas klass vore fint, sen om någon känner till de stora skillnaderna mellan dessa tre sätten att snacka med MySQL via PHP vore med perfekt.
| Skriv utHallå.
Jag funderar lite på det här med PHP och hur PHP hanterar anslutningar till MySQL.
Det finns ju många olika sätt att ansluta sig till en MySQL databas.
Variant 1: MySQL (http://php.net/manual/en/book.mysql.php)
$db = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
Sen finns mysqli (http://php.net/manual/en/book.mysqli.php)
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
Det tredje alternativet jag har hittat är PDO (http://php.net/manual/en/book.pdo.php)
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
Vilken av dessa tre är bäst nar man jobbar med databaser? Jag har läst runt en del och många verkar rekommendera PDO och när jag lekt lite med PDO så är det väldigt smidigt faktiskt.
Jag har planer på att försöka skapa en egen databas klass och vill du använda mig utav det bästa sättet PHP snackar med databaser med, och det bör ju vara något av dessa om det inte finns fler jag har missat.
Vad bör man tänka på när man planerar en databas klass? Vad skall en databas klass kunna göra?
Öppna, stänga databas, hantera SELECT, UPDATE, DELETE och INSERT? Något mer den ska kunna? Kanske ta hand om felmeddelande på ett bra sätt och även skydda mot SQL injektioner?
Lite tips och råd på vad man skall tänka på när man gör en databas klass vore fint, sen om någon känner till de stora skillnaderna mellan dessa tre sätten att snacka med MySQL via PHP vore med perfekt.
PDO använder väl parametrar och då blir det lättare att skydda sig mot SQL injection, utan att behöva göra allt för mycket jobb själv.
Ja PDO har stöd för parametrar likaså mysqli, men det går att skicka in vanliga SQL frågor också.
Här har du ett bra exempel på vad PDO kan göra. Blir ungefär som ORM