Skip navigation

Az adatok beszúrása az adatbázisba

db_fuggvenyek.php

Végül eljutottunk a tényleges adatbáziskezelésig. A db_fuggvenyek.php-ban két függvényt definiálunk. Egyet a csatlakozáshoz, egyet pedig könyvek felviteléhez. Megjegyezzük, hogy minden adatbáziskezeléshez hasonlóképpen kellene eljárni Külön függvényeket kell készíteni, amelyeket az űrlapokotól és a feldolgozó oldalaktól elkülönítve tárolunk (olyan jogosultsággal, amely kívülről nem látható).

Az adatbázishoz történő csatlakozás a konyvtar_csatlakozas() függvényben van megvalósítva. Itt  ki is választjuk az adatbázist és be is állítjuk a karakterkódolást az adatok kezelése előtt.

A konyvet_beszur() függvény paraméterül kapja a könyv adatait. Először meghívjuk a konyvtar_csatlakozas() függvényt a csatlakozáshoz, majd előkészítjük az adatok beszúrását. Az újabb PHP változatok már az alábbi megoldásokat preferálják. Az INSERT INTO utasítást a mysqli_prepare() függvénybe írjuk bele, azonban az értékeket nem itt adjuk meg, helyükre kérdőjeleket írunk. Az értékek megadásának biztonságos módja az SQL utasításhoz történő hozzákötés a mysqli_stmt_bind_param() függvény segítségével. Ennek második paramétere egy olyan (formátum)sztring, amely megmondja a függvénynek, hogy mely változót milyen típusúnak kell tekintenie. Ezt követően a mysqli_stmt_execute() függvénnyel kell végrehajtani az utasítást. 

Természetesen, a PHP-ben is megjelent már az objektum-orientált szemlélet és a fenti metódusok objektum-orientált változatai is alkalmazhatók.

<?php

function konyvtar_csatlakozas() {
    
    $conn = mysqli_connect("localhost", "root", "") or die("Csatlakozási hiba");
    if ( false == mysqli_select_db($conn, "KONYVTAR" )  ) {
        
        return null;
    }
    
    // a karakterek helyes megjelenítése miatt be kell állítani a karakterkódolást!
    mysqli_query($conn, 'SET NAMES UTF-8');
    mysqli_query($conn, 'SET character_set_results=utf8');
    mysqli_set_charset($conn, 'utf-8');
    
    return $conn;
    
}

function konyvet_beszur($konyvszam, $szerzo, $cim, $kiado, $ev) {
 
    if ( !($conn = konyvtar_csatlakozas()) ) { // ha nem sikerult csatlakozni, akkor kilepunk
        return false;
    }
    
    
    // elokeszitjuk az utasitast
    $stmt = mysqli_prepare( $conn,"INSERT INTO KONYVEK(konyvszam, szerzo, cim, kiado, ev) VALUES (?, ?, ?, ?, ?)");
    
    // bekotjuk a parametereket (igy biztonsagosabb az adatkezeles)
    mysqli_stmt_bind_param($stmt, "ssssd", $konyvszam, $szerzo, $cim, $kiado, $ev );
    
    // lefuttatjuk az SQL utasitast
   $sikeres = mysqli_stmt_execute($stmt);
        // ez logikai erteket ad vissza, ami megmondja, hogy sikerult-e
        // vegrehajtani az utasitast
    $mysql_close($conn);

    return $sikeres;


}

?>

Licensed under the Creative Commons Attribution Non-commercial Share Alike License 4.0