PDO,mysqli,PEAR::DBのどれも使えない人のための簡易クエリー実行クラス

多分そういう人は

  • レンタルサーバーで
  • サーバー管理者がいつまでもサボっていて
  • サーバー管理者が「PEAR?何それおいしいの?」って人で
  • アップグレードのお願いをしても無視されて

ってサーバーしか使えないのだと思う。

class QueryObject{
    var $database;
    var $query;
    
    function execute(){
        $result = mysql_query($this->query,$this->database);
        if (!$result) {
            $message  = 'Invalid query: ' . mysql_error() . "\n";
            $message .= 'Whole query: ' . $query;
            die($message);
        }
        return $result;    
    }
    function prepare($db,$q,$p){
        $this->database = $db;
        $this->query = vsprintf($q,$this->prepareParams($p));
        
    }
    function prepareParams($p){
        $po = array();
        foreach($p as $pp){
            echo $pp . "<br />";
            if(is_numeric($pp)){ //数値はそのままでOK
                $po[] = $pp;
            }
            else if(is_string($pp)){
                $poo  = "";
                if(get_magic_quotes_gpc()) {
                    $poo =stripslashes($pp);
                } else {
                    $poo =$pp;
                }
                $po[] =mysql_escape_string($poo);
            }
            else{
                $po[] = "null";
            }
            
        }
        var_dump($po);
        return $po;
    }
    
    
}

datetimeとかそこら辺は入れてません。まだ調べてない。
int系の列に「''」とかクォートでくくったようなsqlが気持ち悪いのですよ。
(nullに対応できるのか?)

というかとっととPDOなりに移行(したがってPHP4は捨てる)方が幸せになれそうだお