database($host, $username, $password, $database); } function database($host, $username, $password, $database) { /*$this->database = array ( host => $host, username => $username, password => $password, database => $database, link => , queries => array (), errors => array () );*/ $this->host = $host; $this->username = $username; $this->password = $password; $this->databasename = $database; $this->link = ; $this->queries = array (); $this->errors = array (); $this->databaseextras = new stdclass; $this->link = mysql_connect($this->host, $this->username, $this->password) or die(could not connect to database); mysql_select_db($this->databasename); } function justquery($sql) { $this->queries[] = $sql; return mysql_query($sql, $this->link); } function loadresult($sql) { if (!($cur = $this->justquery($sql))) { return null; } $ret = null; if ($row = mysql_fetch_row( $cur )) { $ret = $row[0]; } mysql_free_result( $cur ); return $ret; } function loadfirstrow($sql) { if (!($cur = $this->justquery($sql))) { return null; } $ret = null; if ($row = mysql_fetch_object( $cur )) { $ret = $row; } mysql_free_result( $cur ); return $ret; } function insertid() { return mysql_insert_id( $this->link ); } function query($sql, $key = , $returns = true, $batch = false) { $result = array (); switch ($batch) { default: case true: foreach ($sql as $index => $query) { $this->queries[] = $query; $answer = mysql_query($query, $this->link); if (!$answer) { $this->errors[] = mysql_error($this->link); } else { if ($returns != false) { if (mysql_num_rows($answer) > 0){ while ($row = mysql_fetch_object($answer)) { if ($key != ){ $result[$index][$row->$key] = $row; } else { $result[$index][] = $row; } } } else {} } else {} } } break; case false: $this->queries[] = $sql; $answer = mysql_query($sql, $this->link); if (!$answer) { $this->errors[] = mysql_error($this->link); $result = false; } else { if ($returns != false) { if (mysql_num_rows($answer) > 0){ while ($row = mysql_fetch_object($answer)) { if ($key != ){ $result[$row->$key] = $row; } else { $result[] = $row; } } } else {} } else { $result = true; } } break; } return $result; } function loadobject( $sql, &$object ) { if ($object != null) { if (!($cur = $this->justquery($sql))) { return false; } else {} if ($array = mysql_fetch_assoc( $cur )) { mysql_free_result( $cur ); $this->bindarraytoobject( $array, $object); return true; } else { return false; } } else { if ($cur = $this->justquery($sql)) { if ($object = mysql_fetch_object( $cur )) { mysql_free_result( $cur ); return true; } else { $object = null; return false; } } else { return false; } } } function bindarraytoobject( $array, &$obj) { if (!is_array( $array ) || !is_object( $obj )) { return (false); } foreach (get_object_vars($obj) as $k => $v) { if( substr( $k, 0, 1 ) != '_' ) { $ak = $k; if (isset($array[$ak])) { $obj->$k = $array[$ak]; } } } return true; } function formatcsvcell($data) { $usequotes = false; $quotable = array ( \ => \\, , => ,, \n => \n ); foreach ($quotable as $char => $repl) { if (eregi($char, $data)) { $usequotes = true; } else {} } if ($usequotes == true) { foreach ($quotable as $char => $repl) { $data = str_replace($char, $repl, $data); } $data = \ . $data . \; } else { } return $data; }}?>
复制代码
面向对象, mysql, php