1,"insert"=>2,"update"=>3,"delete"=>4); $show=FALSE; function shelp(){ print "\tCommand: USAGE\n"; print "\tselect : select from table \t usage:select ColumnName=Value,...\n"; print "\tinsert : insert data to table \t usage : insert ColumnName=Value,...\n"; print "\tupdate : update table \tusage : update ColumnName=Value,...\n"; print "\tdelete : delete table \tusage: dlete ColumnName=Value\n"; return; } function make_sql($data){ global $show; $en=array("AND"=>1,"OR"=>2,"NOT"=>3,"BETWEEN"=>4,"IN"=>5,"LIKE"=>6,"SOME"=>7,"EXISTS"=>8,"ALL"=>9,"ANY"=>10,","=>11); $sign=array("<=",">=","<",">","=","!="); $num=count($data); $inst=$data[0]; if($inst=="select"){ $show=TRUE; $reslt = $inst." * from ".TB; if($num>1){ $reslt = $reslt . " where "; $i=1; while($i<$num){ //echo $col."\t".$val."\t".$si."\n"; if($en[$data[$i]]){ $reslt = $reslt." ".$data[$i]." "; }else{ list($col,$val,$si) = split_data($data[$i]); $reslt = $reslt.$col." ".$sign[$si]." '".$val."'"; } ++$i; } } }elseif($inst=="insert"){ $show=FALSE; $reslt = $inst." into ".TB." ("; $ti=0; $i=1; while($i<$num){ list($col,$val,$si)=split_data($data[$i]); $tmp[$ti++]=$val; if($i<$num-1){ $reslt=$reslt." ".$col." , "; }else{ $reslt=$reslt." ".$col; } ++$i; } $reslt=$reslt.") VALUES ("; for($i=0;$i<$ti;$i++){ if($i<$ti-1){ $reslt=$reslt."'".$tmp[$i]."' , "; }else{ $reslt=$reslt."'".$tmp[$i]."'"; } } $reslt=$reslt.")"; }elseif($inst=="update"){ $show=FALSE; $reslt = $inst." ".TB." set "; if($num>1){ $i=1; while($i<$num){ if($data[$i]=="set"){ }elseif($data[$i]=="where"){ $reslt = $reslt." where "; }elseif($en[$data[$i]]){ $reslt = $reslt." ".$data[$i]." "; }else{ list($col,$val,$si) = split_data($data[$i]); $reslt = $reslt.$col." ".$sign[$si]." '".$val."'"; } ++$i; } } }elseif($inst=="delete"){ $show=FALSE; $reslt = $inst." from ".TB." where "; if($num>1){ $i=1; while($i<$num){ if($en[$data[$i]]){ $reslt=$reslt." ".$data[$i]." "; }else{ list($col,$val,$si) = split_data($data[$i]); $reslt = $reslt.$col." ".$sign[$si]." '".$val."'"; } ++$i; } } } return $reslt; } function split_data($data){ if(ereg("<=",$data)){ list($col,$val,) = preg_split("/<=/",$data); return array($col,$val,0); }elseif(ereg(">=",$data)){ list($col,$val)=preg_split("/>=/",$data); return array($col,$val,1); }elseif(ereg("!=",$dta)){ list($col,$val)=preg_split("/!=/",$data); return array($col,$val,5); }elseif(ereg("<",$data)){ list($col,$val,$si)=preg_split("/",$data)){ list($col,$val,$si)=preg_split("/>/",$data); return array($col,$val,3); }elseif(ereg("=",$data)){ list($col,$val,$si)=preg_split("/=/",$data); return array($col,$val,4); }else{ list($col,$val,$si)=preg_split("[\s]",$data); return array($col,$val,4); } } function run_sql($con,$sql){ $stmt=oci_parse($con,$sql); if(!oci_execute($stmt,OCI_DEFAULT)){ //echo "oi! select\n"; return; } oci_commit($con); global $show; if($show){ $ros=oci_fetch_all($stmt,$res); if($ros>0){ while(list($key,$val)=each($res)){ print "\t$key"; } echo "\n"; for($i=0;$i<$ros;$i++){ reset($res); while($ls=each($res)){ $data=$ls['value']; print "\t$data[$i]"; } echo "\n"; } }else{ print "not DATA in DB\n"; } } } ?>