/*
Zarizuje pripojeni k databazi
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-----****----****----****----> CHANGE LOG
01-08-22 -> + get_field()
01-07-03 19:59 -> pridana get_sql()
01-06-28 0:05 -> pridany funkce $this->get_id() a $this->get_q()
13-05-02 23:58 -> pridano SET NAMES latin1 pro kazde spojeni s databazi
*/
class Cdbcon {
var $SQL; // dotaz (string)
var $Q; // identifikator dotazu
var $R; // radka (assoc pole)
/*A* Doplneno $Rcols = "" */
var $Rcols = ""; // hlavicky sloupcu (jmena poli)
var $ID; // last insert id
var $link; // odkaz na konkretni spojeni
var $bug; // identifikace pro reseni problemu, nez zjistim, jak se menuje ten objekt
function Cdbcon($bug="nenastaveno"){ // konsruktor
// predelat na volitelny parametr !!!
$this->bug = $bug;
if (_VIEW_ERR == "test") {
error_reporting(15);
if (!mysql_connect(_DB_SERVER,_DB_USER,_DB_PASS))
die();
if (!mysql_select_db(_DB_NAME))
die(print_r("Nepodařilo se vybrat databázi "._DB_NAME."!
"));
} else
error_reporting(9); // bez varovani
if (!mysql_connect(_DB_SERVER,_DB_USER,_DB_PASS))
print_r("Nezdařilo se připojení k MySQL serveru!
");
if (!mysql_select_db(_DB_NAME))
print_r("Nepodařilo se vybrat databázi!");
// pridano 2013-05-02:
mysql_query("SET NAMES 'latin1'");
}
function my_error(){
// vymyslet neco genialniho sem ... logovani
// v configu pripravit switch mezi develop a ostra verze ...
if (_VIEW_ERR == "test") {
error_reporting(15);
$dieMess = "
Chyba v objektu $this->bug :
";
$dieMess .= "".mysql_errno().": " . mysql_error()."
SQL :
";
$dieMess .= $this->get_sql();
echo "
";
die(print_r(get_object_vars($this)).$dieMess);
} else
{
error_reporting(9);
print_r("
Chyba v MySQL dotazu!");
}
}
function ask($SQLn="SQLn"){ //SELECT dotaz vraci identifikator dotazu
if ($SQLn !="SQLn") $this->SQL = $SQLn;
$this->Q = mysql_query ($this->SQL) or $this->my_error();
return $this->Q;
}
function next_row(){ //nastavi dalsi radku vraci boolean
if ($this->R = mysql_fetch_assoc($this->Q)) {
$this->set_columns(); //nastavi jmena sloupcu
return true;
}else {
return false;
}
}
function ins($SQLn="SQLn"){ //INSERT,UPDATE,DELETE dotaz vraci ID
if ($SQLn !="SQLn") $this->SQL = $SQLn;
$this->Q = mysql_query ($this->SQL) or $this->my_error();
$this->ID = mysql_insert_id ();
return $this->ID;
}
// *********** ********* GET-SET
function set_columns(){ //nastavuje jmena sloupcu (v next_row() )
if (!$this->Rcols) $this->Rcols = array_keys($this->R);
}
function get_columns(){ //vraci jmena sloupcu
return $this-> Rcols;
}
function get_id(){ //vraci posledni ID
return $this->ID;
}
function get_q(){ //vraci identifikator dotazu
return $this->Q;
}
function get_r(){ //vraci aktualni radku (asoc.pole)
return $this->R;
}
function get_sql(){ //vraci dotaz (string) nebo veticku
$ret = $this->SQL ? $this->SQL : "Proměnná SQL objektu Cdbcon je prázdná !";
return $ret;
}
function get_field($name){
return $this->R[$name];
}
}
?>