1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| <?
class DB{
var $con = null;
var $host = DBHOST;
var $user = DBUSER;
var $pwd = DBPWD;
var $dbname = DBNAME;
function DB(){
$this->con = $this->connect();
}
function connect(){
if(!($con=mysql_pconnect($this->host,$this->user,$this->pwd)))
trigger_error("Cant connect to database!");
if(!mysql_select_db($this->dbname))
trigger_error("Cant use db " . $this->dbname);
return $con;
}
function new_connect($host,$user,$pwd,$dbname){
$this->host=$host;
$this->user=$user;
$this->pwd=$pwd;
$this->dbname=$dbname;
$this->DB();
}
function get($query){
//echo $query;
if(strlen($query) > 4){
$sql=mysql_query($query,$this->con);
$rez = array();
if(mysql_error()==""){
$rez["&status"]="1";
$rez["&cols"]=mysql_num_fields($sql);
$rez["&rows"]=mysql_num_rows($sql);
$rez["&total"]=$rez["&cols"]*$rez["&rows"];
if($rez["&cols"]<=1 && $rez["&rows"]<=1){ // cols = 1, rows = 1
$sql1=mysql_fetch_array($sql);
$rez["&val"]=$sql1[0];
$fname = mysql_field_name($sql,0);
$rez["&fieldname"] = array();
$rez["&fieldname"][] = $fname;
$rez[$fname]=array();
$rez[$fname][]=$sql1[0];
}
elseif($rez["&cols"]<=1 && $rez["&rows"]>1){ // cols = 1, rows > 1
$i=0;
$fname = mysql_field_name($sql,$i);
$rez["&fieldname"] = array();
$rez[$fname] = array();
$rez["&fieldname"][] = $fname;
while($sqlr=mysql_fetch_array($sql)){
$rez[]=$sqlr[0];
$rez[$fname][]=$sqlr[0];
$i++;
}
}
elseif($rez["&cols"]>1 && $rez["&rows"]<=1){ // cols > 1, rows = 1
$i=0;
$rez["&fieldname"] = array();
for($j=0;$j<$rez["&cols"];$j++){
$fname = mysql_field_name($sql,$j);
$rez["&fieldname"][] = $fname;
$rez[$fname] = array();
}
while($sqlr=mysql_fetch_array($sql)){
for($j=0;$j<$rez["&cols"];$j++){
$rez[$rez["&fieldname"][$j]][]=$sqlr[$j];
$rez[$j][]=$sqlr[$j];
}
$i++;
}
}
elseif($rez["&cols"]>1 && $rez["&rows"]>1){ // cols > 1, rows > 1
$i=0;
$rez["&fieldname"] = array();
for($j=0;$j<$rez["&cols"];$j++){
$fname = mysql_field_name($sql,$j);
$rez["&fieldname"][] = $fname;
$rez[$fname] = array();
}
while($sqlr=mysql_fetch_array($sql)){
for($j=0;$j<$rez["&cols"];$j++){
$fname = mysql_field_name($sql,$j);
$rez[$fname][]=$sqlr[$j];
}
$i++;
}
}
}else{
$rez["&status"]="0";
$rez["&error"]=mysql_error();
echo "QUERY: $query<br>";
trigger_error("ERROR: " . mysql_error());
}
mysql_free_result($sql);
return $rez;
}
}
function query($query){
$sql=mysql_query($query,$this->con);
//echo $query;
$rez = array();
if(mysql_error()==""){
$rez["&status"]="1";
$lastid=$this->get("SELECT LAST_INSERT_ID() as lid");
$rez["&id"]=$lastid["&val"];
}else{
$rez["&status"]="0";
$rez["&error"]=mysql_error();
echo "QUERY: $query<br>";
trigger_error("ERROR: " . mysql_error());
}
return $rez;
}
}
$DB=new DB;
?> |
Partager