29 $this->DBHost = $DBHost;
30 $this->DBName = $DBName;
31 $this->DBUser = $DBUser;
32 $this->DBPass = $DBPass;
34 if(($this->DBHost!=
'')&&($this->DBUser!=
'')&&($this->DBPass!=
'')&&($this->DBName!=
''))
36 $this->checksum=md5($this->DBHost.$this->DBUser.$this->DBPass.$this->DBName);
38 $this->con = mysql_connect($this->DBHost, $this->DBUser, $this->DBPass);
41 die(
"<b>core_sql: MySQL connection failed!</b> ".mysql_error());
43 mysql_select_db($this->DBName, $this->con);
50 final public function query($sql)
59 final public function write($sql)
69 mysql_close($this->con);
76 final public function test()
78 if($this->checksum==md5($this->DBHost.$this->DBUser.$this->DBPass.$this->DBName))
97 $handle = fopen(
"firststart.json",
"r");
98 $contents = fread($handle, filesize($filename));
100 $contents = json_decode($contents,
false);
101 if(md5($_SERVER[
'SERVER_NAME'].$_SERVER[
'SERVER_ADDR'].$this->DBHost.$this->DBUser.$type)!=$contents->hash)
103 die(
'Integrity_Error: Illegal system operation!');
140 $this->construct .=
' , `'.$name.
'` '.strtoupper($type).
'';
149 $this->table = $name;
158 $this->key .=
' , UNIQUE KEY `'.$this->table.
'` (`'.$keyName.
'`)';
165 public function createTable($name)
167 $this->table = $name;
168 $this->
query(
'CREATE TABLE IF NOT EXISTS `'.$name.
'` ( `id` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`)'.$this->construct.
');');
169 $this->construct = null;
178 $this->table = $name;
179 $this->sql=
"SHOW COLUMNS FROM ".$this->DBName.
".".$this->table;
180 $this->con=mysql_connect($this->DBHost,$this->DBUser,$this->DBPass);
181 mysql_select_db($this->DBName, $this->con);
182 $this->result=mysql_query($this->sql);
184 while($row=mysql_fetch_array($this->result))
186 $this->column.=
'`'.$row[
'Field'].
'`,';
195 public function insert($values)
197 $this->
query(
'INSERT INTO '.$this->table.
' ('.substr($this->column, 0, -1).
') VALUES (null,'.$values.
');');
205 public function set($column,$value)
207 if(is_numeric($value))
209 $this->setupdate.=
'`'.$column.
'`='.$value.
',';
213 $this->setupdate.=
'`'.$column.
'`="'.$value.
'",';
223 public function update($if,$sets=null)
225 $this->
query(
'UPDATE '.$this->table.
' SET '.substr($this->setupdate, 0, -1).$sets.
' WHERE '.$if.
';');
234 public function delete($if)
238 $this->
query(
'DELETE FROM `'.$this->table.
'` WHERE `id`>0;');
242 $this->
query(
'DELETE FROM `'.$this->table.
'` WHERE '.$if.
';');
253 public function output($if=
"`id`>0",$order=
"`id` ASC",$limit=1000)
255 $this->sql=
"SELECT * FROM `".$this->table.
"` WHERE ".$if.
" ORDER BY ".$order.
" LIMIT ".$limit.
";";
256 $this->con=mysql_connect($this->DBHost,$this->DBUser,$this->DBPass);
257 mysql_select_db($this->DBName, $this->con);
258 $this->result=mysql_query($this->sql);
259 $this->colout=explode(
",",str_replace(
"`",
"",substr($this->column, 0, -1)));
262 $this->out = array(
'header'=>$this->colout,
'line'=>array(array()));
263 $this->csum = md5($this->con);
264 while($row=mysql_fetch_array($this->result))
268 foreach($this->colout as $val)
270 $this->out[
'line'][$j][$i++]=$row[$val];
321 public function dbCreateTable($array)
323 foreach($array as $key=>$val)
325 foreach($val as $key_col=>$val_col)
329 foreach($val_col as $key_att=>$val_att)
331 switch(strtolower($key_att))
334 $data.=strtoupper($val_col[$key_att]);
337 $data.=($val_col[$key_att]===
false ?
' NOT NULL' :
'');
339 case 'auto_increment':
340 $data.=($val_col[$key_att]===
false ?
'' :
' AUTO_INCREMENT');
343 $data.=($val_col[$key_att]===
false ?
'' :
',PRIMARY KEY ('.$key_col.
')');
346 $data.=($val_col[$key_att]===
false ?
'' :
',FOREGIN KEY ('.$key_col.
') REFERENCES '.$val_att);
350 $data.=($val_col[$key_att]===
false ?
'' :
',UNIQUE KEY ('.$key_col.
')');
354 $this->construct .=
',`'.$key_col.
'` '.$data.
'';
356 $this->save .=
'CREATE TABLE IF NOT EXISTS `'.$key.
'` ('.substr($this->construct,1).
');';
370 public function insert($array)
372 foreach($array as $key=>$val)
374 $this->save.=
'INSERT INTO `'.$key.
'`';
377 foreach($val as $sub_key=>$sub_val)
380 $values.=$sub_val.
',';
382 $col=substr($col, 0, -1);
383 $values=substr($values, 0, -1);
386 $this->save.=$col.$values.
';';
400 public function filter($def)
402 foreach($def as $key=>$val)
404 foreach($val as $sub_key=>$sub_val)
406 $this->
default.=$val.
'.'.$sub_val.
',';
409 $this->
default=substr($this->
default,0,-1);
432 public function update($array)
434 $this->
select($array,
true);
465 public function select($array,$update=
false)
467 if(empty($this->
default))
471 foreach($array as $key=>$val)
475 $this->save.=
'UPDATE `'.$key.
'` ';
479 $this->save.=
'SELECT '.$this->default.
' FROM `'.$key.
'` ';
482 foreach($val as $key_col=>$val_col)
486 switch(strtolower($key_col))
491 $data_condition.=
' WHERE ';
492 foreach($val_col as $key_att=>$val_att)
494 switch(strtolower($key_att))
497 $data_condition.=$val_att;
500 $data_condition.=
' OR '.$val_att;
503 $data_condition.=
' AND '.$val_att;
509 $data_condition.=
' BETWEEN '.$key_att.
' AND '.$val_att;
512 $data_set.=$key_att.
'='.$val_att.
',';
515 $data_sort=
' ORDER BY ';
516 foreach($val_col as $key_att=>$val_att)
518 switch(strtolower($key_att))
521 $data_sort.=$val_att.
' ASC';
524 $data_sort.=$val_att.
' DESC';
530 $data_like=
' LIKE '.$val_col;
533 $data_limit_start=$val_col.
',';
536 $data_limit_max=
' '.$val_col;
541 $data_join.=
' FULL OUTER JOIN '.$key_att.
' ON '.$key.
'.'.$val_att[0].
'='.$key_att.
'.'.$val_att[1];
547 $data_join.=
' INNER JOIN '.$key_att.
' ON '.$key.
'.'.$val_att[0].
'='.$key_att.
'.'.$val_att[1];
552 $data_join.=
' INNER JOIN '.$key_att.
' ON '.$key.
'.'.$val_att[0].
'='.$key_att.
'.'.$val_att[1];
557 $data_join.=
' INNER JOIN '.$key_att.
' ON '.$key.
'.'.$val_att[0].
'='.$key_att.
'.'.$val_att[1];
571 $this->save.=(isset($data_set)?
' SET '.substr($data_set,0,-1):
'').$data_condition.$data_like.$data_sort.(isset($data_limit_max)?
' LIMIT '.$data_limit_start.$data_limit_max :
'').
';';
586 'dbhost'=>$this->DBHost,
587 'dbname'=>$this->DBName,
588 'dbuser'=>$this->DBUser,
589 'dbpass'=>$this->DBPass
599 $this->
connect =
new mysqli($this->mysqli[
'dbhost'], $this->mysqli[
'dbuser'], $this->mysqli[
'dbpass'], $this->mysqli[
'dbname']);
600 if($this->
connect->connect_errno)
602 $this->mysqli[
'dberror'][
'message'] =
"Failed to connect to MySQL: (" . $this->
connect->connect_errno .
") " . $this->
connect->connect_error;
603 $this->mysqli[
'dberror'][
'code'] =
'mysqlInterface:001';
610 var_dump($this->mysqli);
623 if(!$this->
connect->multi_query($this->save))
649 if(!$this->
connect->multi_query($this->save))
651 $this->mysqli[
'dberror'][
'message'] =
"Multi query failed: (" . $this->
connect->errno .
") " . $this->
connect->error;
652 $this->mysqli[
'dberror'][
'code'] =
'mysqlInterface:002';
659 var_dump($this->mysqli);
670 if($res = $this->
connect->store_result())
672 while ($row = $res->fetch_array())
679 while($this->
connect->more_results() && $this->
connect->next_result());
684 $mysql =
new mysqlEdit($DBHost,$DBName,$DBUser,$DBPass);
select($array, $update=false)
newColumn($name, $type="INT")
__construct($DBHost, $DBName, $DBUser, $DBPass)