<?php
/*
####################################################################
# DEBRECENI VIRTUÁLIS SZOBORPARK                                   #
# _SQL                                                             #
# SQL utasításokat teartalmazó függvénygyűjtemény                  #
#                                                                  #
# Készítette: Lente Tamás - lentet@dbvk.hu                         #
# Módosítva: 2008.04.20.                                           #
#                                                                  #
# Programban kezelhető adatbázis-kezelők: MySQL, MSSQL             #
# Szükséges glob.változók: DBSERVER DBHOST, DBUSER, DBPASS, DBNAME #
#                                                                  #
# Tartalma:                                                        #
# - adatbazis(): kapcsolódás adatbázishoz                          #                
# - lekerdezes(SQL): SQL lekérdezés futtatása                      #
#                    Eredménye: SQL-azonosító                      #
# - olvas_asszociativ(SQL-azon): asszociatív tömbe olvas 1 rekordot#
#                    Eredménye: asszociatív tömb                   #
# - olvas_tomb(SQL-azon): tömbe beolvas 1 rekordot                 #
#                    Eredménye: tömb                               #
# - ossz_rekord(SQL-azon): az SQL-azonosítóval jelölt lekérdezés   #
#                    összes rekordját adja vissza                  #
# - rekord_ugras(SQL-azon, sor): SQL lekérdezés megadott           #
#                    rekordjára ugrik                              #
# - beszurt_azonosito(táblanév): a legutoljára beszúrt azonosítót  #
#                    adja vissza                                   #
#                                                                  #
# Hiba esetén a képernyőre ír hibaüzenetet!                        # 
####################################################################
*/

// Ha már be lett egyszer töltve, ne töltsük újra 
if (defined("_sql")) return;
define("_sql", "1");

// Csatlakozás az adatbázis szerverez és az adatbázishoz
function adatbazis() {
    // MYSQL esetén    
    if (DBSERVER == "mysql") {
    	$kapcsolodas = @mysql_connect(DBHOST, DBUSER, DBPASS);
    	// Ha sikeres volt az adatbzis-szerverhez kapcsolódás
    	if ($kapcsolodas == true) {    		
    	    $akt_db = @mysql_select_db(DBNAME);
    	    // Ha nem sikerült az adatbázishoz kapcsolódás
    	    if ($akt_db == false) {
    	        echo "<span class=hiba>Nem sikerült a(z) ".DBNAME." adatbázist elérni, MySQL hibaüzenet:" . mysql_error()."</span>";
    	        contactme();
    	    }
    	}
    }
    // MS SQL Server esetén
    else if (DBSERVER == "mssql") {
    	$kapcsolodas = @mssql_connect(DBHOST, DBUSER, DBPASS);
    	// Ha sikeres volt az adatbzis-szerverhez kapcsolódás
    	if ($kapcsolodas == true) {    		
    	    $akt_db = @mssql_select_db(DBNAME);
    	    // Ha nem sikerült az adatbázishoz kapcsolódás
    	    if ($akt_db == false) {
    	        echo "<span class=hiba>Nem sikerült a(z) ".DBNAME." adatbázist elérni, MSSQL hibaüzenet:" .MSSQL_GET_LAST_MESSAGE()."</span>";
    	        contactme();
    	    }
    	}
    }
} // function Adatbazis()


// Lekérdezés
function lekerdezes($string) {
  // MYSQL esetén    
  if (DBSERVER == "mysql") {
     //echo $string;
     // Ha a $string -ben INSERT INTO xxxx szerepel, akkor az xxxx-re a beírás idejére táblazár kell
     // LOCK TABLES xxxx WRITE;
     $ertek = @mysql_query($string);
     if ($ertek == false) {
          echo "<span class=hiba>Nem sikerült a lekérdezés, MySQL hibaüzenet:" . mysql_error()."</span>\n"; 
          contactme();
     }
     // Tábla írásának feloldása
     // UNLOCK TABLES;
     else return $ertek;
  }
  // MS SQL Server esetén
  else if (DBSERVER == "mssql") {
     $ertek = @mssql_query($string);
     if ($ertek == false) {
          echo "<span class=hiba>Nem sikerült a lekérdezés, MSSQL hibaüzenet:" .MSSQL_GET_LAST_MESSAGE()."</span>\n"; 
          contactme();
     }
     else return $ertek; 	
  }
} // function lekérdezés

// Asszociatív tömbbe olvasás
function olvas_asszociativ($azonosito) {
  if ($azonosito !=false) {
    // MYSQL esetén    
    if (DBSERVER == "mysql") {
      $ertek = @mysql_fetch_assoc($azonosito);
      return $ertek;
    }
    // MSSQL esetén    
    if (DBSERVER == "mssql") {
      $ertek = @mssql_fetch_assoc($azonosito);
      return $ertek;
    }
  }
} // olvas_asszociativ

// Sima tömbbe olvasás
function olvas_tomb($azonosito) {
  if ($azonosito !=false) {
    // MYSQL esetén    
    if (DBSERVER == "mysql") {
      $ertek = @mysql_fetch_array($azonosito);
      return $ertek;
    }
    // MSSQL esetén    
    if (DBSERVER == "mssql") {
      $ertek = @mssql_fetch_array($azonosito);
      return $ertek;
    }
  }
} // olvas_tomb

// Lekérdezett rekordok száma
function ossz_rekord($azonosito) {
  if ($azonosito !=false) {
    // MYSQL esetén    
    if (DBSERVER == "mysql") {
      $ertek = @mysql_affected_rows(); 
      return $ertek;
    }
    // MSSQL esetén    
    if (DBSERVER == "mssql") {
      $ertek = @mssql_num_rows($azonosito);
      return $ertek;
    }
  }
} //ossz_rekord

// Ugrás megadott rekordra
function rekord_ugras($azonosito, $sor) {
  if ($azonosito !=false) {
    // MYSQL esetén    
    if (DBSERVER == "mysql") {
      $ertek = @mysql_data_seek($azonosito, $sor); 
      return $ertek;
    }
    // MSSQL esetén    
    if (DBSERVER == "mssql") {
      $ertek = @mssql_field_seek($azonosito, $sor);
      return $ertek;
    }
  }
} //rekord_ugras

// Utoljára beszúrt azonosító
function beszurt_azonosito($tablanev) {
  // MYSQL esetén    
    if (DBSERVER == "mysql") {
      $id = @mysql_insert_id(); 
      return $id;
    }
  // MSSQL esetén    
    if (DBSERVER == "mssql") {
    	$string = "SELECT SYSIBM.IDENTITY_VAL_LOCAL() AS id FROM ".$tablanev;
    	$ertek1 = @mssql_query($string);
        if ($ertek == false) {
          echo "<span class=hiba>Nem sikerült a lekérdezés, MSSQL hibaüzenet:" .MSSQL_GET_LAST_MESSAGE()."</span>\n"; 
          contactme();
        }
        $ertek = @mssql_fetch_assoc($ertek1);
        $id = $ertek[id];
      return $id;
    }
} //beszurt_azonosito
?>
