Kezdőoldal » Számítástechnika » Programozás » Oop adatbázis kapcsolódás? Php

Oop adatbázis kapcsolódás? Php

Figyelt kérdés
Sziasztok valaki leírná érthetően hogy oop hogy tudok csatlakozni egy adatbázishoz?
2013. nov. 15. 16:44
 1/10 anonim ***** válasza:
2013. nov. 15. 16:58
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
vagy PDO -val: [link]
2013. nov. 15. 17:15
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:
Szia Tibor írhatok üzenetet?
2013. nov. 15. 17:44
 4/10 anonim ***** válasza:

írni írhatsz, de ritkán válaszolok rájuk :-)

Itt is kérdezheted. :-)

2013. nov. 15. 18:02
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

Oké akkor itt :)


$db_name = 'dbname';//itt megadjuk az adatbázis adatokat

$db_user = 'dbuser';

$db_password = 'dbpassword';

$db_host = 'localhost';


class database {Itt létrehozzuk az osztályt ami a database nevet kapja


public $mysqli; // na itt elveszettem a fonalat.ez ide minek?


public function connect($db_host, $db_user, $db_password, $db_name){Itt létrehoznk egy függvényt aminek megadjuk az alap adatokat


$this->mysqli = new mysqli($db_host, $db_user, $db_password, $db_name); ezt a sort se értem


if ($mysqli->connect_errno) {ezt értem

return "Sorry Andre, but you seem to have messed up the DB connection :(";

}

}

}


$newConnection = new database; és ezt se értem

$newConnection->connect($db_host, $db_user, $db_password, $db_name);ezt se értem



elmagyaráznád,hogy ezek mit jelentenek amiket nem értek és miért van rá szükség?

2013. nov. 15. 18:09
 6/10 anonim ***** válasza:
Nézz utána az objektum orientált programozásnak, pl. wikipédián. Utána nézd meg újra a kódot.
2013. nov. 15. 18:29
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:

A public kulcsszóval ellátott metódus vagy tulajdonság tehát elérhető az őt tartalmazó osztály metódusaiból, a belőle származtatott osztyályokban, és az objektumokból is.

[link]


new mysqli(...) -vel objektum kapcsolati típussal csatlakozol.


Így az egésznek nem sok értelme van, létrehozol egy osztályt, és függvényt ami csatlakozik az adatbázishoz...

Max akkor van értelme, hogy ha minden adatbázis műveltetett átírsz hasonló saját objektum módba, és esetleg későbbiekben könnyebben tudod átírni MYSQL -ről más SQL nyelvre...

2013. nov. 15. 18:31
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

Ezt én így csinálnám:



define('DB_HOST', 'host');

define('DB_USER', 'felhasznalo');

define('DB_PASS', 'jelszo');

define('DB_NAME', 'adatbazis');



class Database { // Adatbázis osztály


private $connect; // Ez a változó csak az osztályon belül használható



function __construct() { // Automatikusan meghívja a kapcsolódás függvényt

$this->open_connect();

}


function __destruct() { // Automatikusan bontja a kapcsolatot

$this->close_connect();

}



private function open_connect() { // Kapcsolódás az adatbázishoz

$this->connect = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

}


private function close_connect() { // Szétkapcsolódás

mysqli_close($this->connect);

}


public function select() { // Publikus, hogy használható legyen kívül is

$query = mysqli_query($this->connect, "SELECT * FROM tabla");


return mysqli_fetch_object($query); // Első sor objektumban

}


}



$db = new Database(); // Adatbázis objektum létrehozás


/*

$db változón keresztül használható az adatbázis objektum.


Pl.:

*/


$select = $db->select(); // SELECT függvény meghívása, publikus


echo $select->tabla_oszlopa; // MySQL lekérdezés egy oszlop értéke

2013. nov. 15. 20:55
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:

Csak néhány kérdés:


1. Miért égeted bele az adatbázis kapcsolat adatait az osztályodba?

Ha konstruktorban adnád át neki ezek az adatokat amiket majd esetleg egy konfig fileból olvasnál ki akkor máris nem kellene a kódban változtatni ha módosulnak.

2. Azért az egy sorért milyen megfontolásból hoztál létre külön open és close függvényt? :)

3. (ezt csak így halkan) SELECT *?!

2013. nov. 24. 03:25
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:

1. A definiált állandókat is bele lehet rakni egy config fájlba.

2. Azért hoztam létre, mert egy atribútumnak adja át az értéket, a $connect-nek.

3. Példának nem fogok írni egy teljes adatbázis osztályt.

2013. nov. 24. 13:21
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!