2016-06-25 1 views
0

クエリごとにこのクラスとSET time_zoneでMySQLにクエリを実行するにはどうすればよいですか?私は、次のコードブロックにtimezoneコマンドを配置する場所についていくつか問題があります。どこに置くのですか?time_zone = 'America/New_York'

class MyDB { 

    private $connection; 
    public $last_query; 
    private $magic_quotes_active; 
    private $real_escape_string_exists; 
    function __construct(){ 
     $this->open_connection(); 
     $this->magic_quotes_active = get_magic_quotes_gpc(); 
     $this->real_escape_string_exists = function_exists("mysql_real_escape_string"); 
    } 

    public function open_connection(){ 
     $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS); 
     if(!$this->connection){ 
      die("Database connection failed: " . mysql_connect()); 
     } else { 
      $db_select = mysql_select_db(DB_NAME, $this->connection); 
      if(!$db_select){ 
       die("Database selection failed: " . mysql_error()); 

      } 
     } 
    } 

    public function close_connection(){ 
     if(isset($this->connection)){ 
      mysql_close($this->connection); 
      unset($this->connection); 
     } 
    } 

    public function query($sql) { 
     $this->last_query = $sql; 
     $result = mysql_query($sql, $this->connection);  
     $this->confirm_query($result);  
     return $result; 
    } 

    public function escape_value($value){ 
     if($this->real_escape_string_exists){ // PHP v.4.3.0 or higher 
      //undo any magic quote effects so mysl_real_escape_string can do the work 
      if($this->magic_quotes_active){ 
       $value = stripslashes($value); 
      } 
      $value = mysql_real_escape_string($value); 
     } else { // before PHP v.4.3.0 
      // if magic quotes aren't already on then add slashes manually 
      if(!$this->magic_quotes_active) { 
       $value = addslashes($value); 
      } 
      // if magic quotes are active, then the slashes already exist 
     } 
     return $value; 
    } 

    public function fetch_array($result_set){ 
     return mysql_fetch_array($result_set); 
    } 

    public function num_rows($result_set){ 
     return mysql_num_rows($result_set); 
    } 

    public function insert_id($result_set){ 
     return mysql_insert_id($this->connection); 
    } 

    public function affected_rows($result_set){ 
     return mysql_affected_rows($this->connection); 
    } 

    private function confirm_query($result){ 
     if(!$result){ 
      $output = "Database query failed: " . mysql_error() . "<br /><br />"; 
      $output .= "Last SQL query: ". $this->last_query; 
      die($output); 
     } 

    } 
} 

$ database = new MyDB(); $ db = & $データベース;

答えて

0

このようにフライで設定できます。 date_default_timezone_set( 'America/New_York');

+0

私はそれを試みましたが、それは私の目的に合っていません。私はすべてのMySQLクエリの後にそれを設定したいと思います。 – OBL

+0

そのコードブロックに設定する限り、私はあなたがNew_Yorkに残すのではなく、タイムゾーンを別のものに変更したいと思っていましたか? New_Yorkに残す場合は、php.iniに設定してください。 – DonVF

+0

すべてのクエリの後に設定しようとしているのはなぜですか?私はそれが正常に行動するとは思わないが...好奇心から...なぜあなたはそれをやろうとしているのですか? – DonVF

関連する問題