ホームページ >バックエンド開発 >PHPチュートリアル >実践的な PHP_PHP チュートリアルの 1 日目
今日は何かを学びました
エンコーディングを設定するためにphpがブラウザに送信されます
header('content-type:text/html;charset=utf-8');
Smarty テンプレート エンジンは、クラス内の N 個の複数のエラーを報告します
brophpのDBクラスを修正したら単独では使えなくなりました
thinkphpのDBクラスは修正しても単体では使えません
最後に、オンラインのオープンソースの mysql クラスを使用しました
[php]
// +---------------------------------------------- --- -----------------------
// |MySQL 操作クラス
// +---------------------------------------------- --- -----------------------
// |@微冰QQ:496928838
// +---------------------------------------------- --- -----------------------
クラス MySQL{
プライベート $db_mysql_hostname
プライベート $db_mysql_username
プライベート $db_mysql_password
プライベート $db_mysql_database
プライベート $db_mysql_port
プライベート $db_mysql_charset
プライベート $query_list = array();
//クエリ数
パブリック $query_count = 0;
//クエリ開始時刻
公開 $query_start_time
//現在のクエリID
保護された $クエリ ID
//現在の接続
保護された $conn
// トランザクション命令の数
保護された $transTimes = 0;
// レコード数を返すか、レコード数に影響を与える
保護された $numRows = 0;
// エラーメッセージ
保護された $error = '';
パブリック関数 __construct($hostname_or_conf,$username,$password,$database,$port = '3306',$char = 'utf8'){
If(is_array($hostname_or_conf)){
$this->db_mysql_hostname = $hostname_or_conf['hostname'];
$this->db_mysql_username = $hostname_or_conf['username'];
$this->db_mysql_password = $hostname_or_conf['パスワード'];
$this->db_mysql_database = $hostname_or_conf['database'];
$this->db_mysql_port = isset($hostname_or_conf['port'])?$hostname_or_conf['port']:'3306';
$this->db_mysql_charset = isset($hostname_or_conf['charset'])?$hostname_or_conf['charset']:'utf8';
}elseif(!empty($hostname_or_conf)||!empty($username)||!empty($password)||!empty($database))
$this->db_mysql_hostname = $hostname_or_conf;
$this->db_mysql_username = $username;
$this->db_mysql_password = $password;
$this->db_mysql_database = $database;
$this->db_mysql_port = $port;
$this->db_mysql_charset = $char;
}その他{
die('設定エラー。');
}
$this->connect();
}
プライベート関数 connect(){
$server = $this->db_mysql_hostname.':'.$this->db_mysql_port; $this->conn = mysql_connect($server,$this->db_mysql_username,$this->db_mysql_password,true) または die('MySQL DB 接続エラー!');
mysql_select_db($this->db_mysql_database,$this->conn) または die('select db error!');
mysql_query("セット名 " . $this->db_mysql_charset, $this->conn);
}
/**
+------------------------------------------------ ----------
*データオブジェクトの値を設定します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*テーブル、場所、順序、制限、データ、フィールド、結合、グループ、所有
+------------------------------------------------ ----------
*/
パブリック関数テーブル($table){
$this->query_list['table'] = $table;
$this を返します。
}
パブリック関数 where($where){
$this->query_list['where'] = $where;
$this を返します。
}
公共機能注文($order){
$this->query_list['order'] = $order;
$this を返します。
}
パブリック関数の制限($offset,$length){
if(!isset($length)){
$length = $offset;
$オフセット = 0;
}
$this->query_list['limit'] = '制限 '.$offset.','.$length;
$this を返します。
}
パブリック関数データ($data){
/*
if(is_object($data)){
$data = get_object_vars($data);
}elseif (is_string($data)){
parse_str($data,$data);
}elseif(!is_array($data)){
//ログ:DATA_TYPE_INVALID
}
*/
$this->query_list['data'] = $data;
$this を返します。
}
パブリック関数フィールド($fields){
$this->query_list['fields'] = $fields;
$this を返します。
}
パブリック関数結合($join){
$this->query_list['join'] = $join;
$this を返します。
}
パブリック関数グループ($group){
$this->query_list['group'] = $group;
$this を返します。
}
パブリック関数 have($having){
$this->query_list['having'] = $having;
$this を返します。
}
/**
+------------------------------------------------ --------
* 查询
+------------------------------------------------ --------
* @アクセス公開
+------------------------------------------------ --------
* @param
+------------------------------------------------ --------
*/
パブリック関数 select(){
$select_sql = '選択';
$fields = isset($this->query_list['fields'])?$this->query_list['fields']:'*';
$select_sql.=$fields;
$select_sql.= ' from `'.$this->query_list['table'].'` ';
isset($this->query_list['join'])?($select_sql.=$this->query_list['join']):'';
isset($this->query_list['where'])?($select_sql.=' where '.$this->query_list['where']):'';
isset($this->query_list['group'])?($select_sql.=' group by'.$this->query_list['group']):'';
isset($this->query_list['having'])?($select_sql.=' mysql を持つ '.$this->query_list['having']):'';
isset($this->query_list['order'])?($select_sql.=' order by '.$this->query_list['order']):'';
isset($this->query_list['limit'])?($select_sql.=' '.$this->query_list['limit']):'';
return $this->query($select_sql);
}
/**
+------------------------------------------------ ----------
*
を追加
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 add(){
$add_sql = '`'.$this->query_list['table'] に挿入します。'` (';
$data = $this->query_list['data'];
$値 = $フィールド = '';
foreach($data as $k=>$v){
$field .= '`'.$k.'`,';
if(is_numeric($v))
$value .= $v.',';
その他
$value .= '''.$v.'',';
}
$add_sql .= rtrim($field,',').') 値 ('.rtrim($value,',').')';
return $this->execute($add_sql);
}
/**
+------------------------------------------------ ----------
*削除
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 delete(){
$del_sql = '`.$this->query_list['table'].'` から削除します。where '.$this->query_list['where'];
if(isset($this->query_list['order']))
$del_sql .= 'order by '.$this->query_list['order'];
if(isset($this->query_list['limit']))
$del_sql .= ' '.$this->query_list['limit'];
return $this->execute($del_sql);
}
/**
+------------------------------------------------ ----------
*更新
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 update(){
$update_sql = 'update `'.$this->query_list['table'].'` set ';
$data = $this->query_list['data'];
foreach($data as $k=>$v){
if(is_numeric($v))
$update_sql .= '`'.$k.'` ='.$v.',';
その他
$update_sql .= ''.$k.'' =''.$v.'',';
}
$update_sql = rtrim($update_sql,',');
if(isset($this->query_list['where']))
$update_sql .= ' where '.$this->query_list['where'];
if(isset($this->query_list['order']))
$update_sql .= ' order by '.$this->query_list['order'];
if(isset($this->query_list['limit']))
$update_sql .= ' '.$this->query_list['limit'];
return $this->execute($update_sql);
}
/**
+------------------------------------------------ ----------
* クエリを実行してデータセットを返します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param string $sql SQLコマンド
*/
パブリック関数クエリ($sql) {
if ( !$this->conn ) は false を返します。
$this->queryStr = $sql;
//释放前回の查询結果
if ( $this->queryID ) { $this->free(); }
$this->query_start_time = microtime(true);
$this->queryID = mysql_query($sql, $this->conn);
$this->query_count++;
if ( false === $this->クエリID ) {
$this->error();
false を返します。
} その他 {
$this->numRows = mysql_num_rows($this->queryID);
$this->getAll(); を返す
}
}
/**
+------------------------------------------------ ----------
* ステートメントを実行します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param string $sql SQLコマンド
+------------------------------------------------ ----------
*/
パブリック関数実行($sql) {
if ( !$this->conn ) は false を返します。
$this->queryStr = $sql;
//释放前回の查询結果
if ( $this->queryID ) { $this->free(); }
$this->query_start_time = microtime(true);
$result = mysql_query($sql, $this->conn) ;
$this->query_count++;
if ( false === $result) {
$this->error();
false を返します。
} その他 {
$this->numRows = mysql_affected_rows($this->conn);
$this->numRows を返します;
}
}
/**
+------------------------------------------------ ----------
* すべてのクエリデータを取得します
+------------------------------------------------ ----------
* @アクセス非公開
+------------------------------------------------ ----------
* @return 配列
*/
プライベート関数 getAll() {
// 返される回数データ集
$result = 配列();
if($this->numRows>0) {
while($row = mysql_fetch_assoc($this->クエリID)){
$result[] = $row;
}
mysql_data_seek($this->クエリID,0);
}
$result を返します。
}
/**
+------------------------------------------------ --------
* データテーブルの文字列情報を取得します
+------------------------------------------------ --------
* @アクセス公開
+------------------------------------------------ --------
*/
パブリック関数 getFields($tableName) {
$result = $this->query('SHOW COLUMNS FROM `'.$tableName.'`');
$info = 配列();
if($result) {
foreach ($result as $key => $val) {
$info[$val['フィールド']] = array(
「名前」 => $val['フィールド']、
「タイプ」 => $val['タイプ'],
'notnull' => (bool) ($val['Null'] === ''), // null でない場合は空、null ははい
'デフォルト' => $val['デフォルト']、
'プライマリ' => (strto lower($val['Key']) == 'pri'),
'autoinc' => (strto lower($val['Extra']) == 'auto_increment'),
);
}
}
$info を返します。
}
/**
+------------------------------------------------ ----------
* データベースのテーブル情報を取得します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*/
パブリック関数 getTables($dbName='') {
if(!empty($dbName)) {
$sql = '.$dbName からのテーブルを表示;
}その他{
$sql = 'テーブルを表示 ';
}
$result = $this->query($sql);
$info = 配列();
foreach ($result as $key => $val) {
$info[$key] = 現在($val);
}
$info を返します。
}
/**
+------------------------------------------------ ----------
* 最後の操作のID
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 last_insert_id(){
return mysql_insert_id($this->conn);
}
/**
* 結果セット数を指定して
を実行する
*/
パブリック関数カウント($sql){
return $this->execute($sql);
}
/**
+------------------------------------------------ ----------
* 取引を開始します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @return void
+------------------------------------------------ ----------
*/
パブリック関数 startTrans() {
if ($this->transTimes == 0) {
mysql_query('トランザクションの開始', $this->conn);
}
$this->transTimes++;
戻る ;
}
/**
+------------------------------------------------ ----------
* トランザクションを送信します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @return boolen
+------------------------------------------------ ----------
*/
パブリック関数 commit()
{
if ($this->transTimes > 0) {
$result = mysql_query('COMMIT', $this->conn);
$this->transTimes = 0;
if(!$result){
throw new Exception($this->error());
}
}
true を返します。
}
/**
+------------------------------------------------ ----------
* トランザクションのロールバック
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @return boolen
+------------------------------------------------ ----------
*/
パブリック関数 rollback()
{
if ($this->transTimes > 0) {
$result = mysql_query('ROLLBACK', $this->conn);
$this->transTimes = 0;
if(!$result){
throw new Exception($this->error());
}
}
true を返します。
}
/**
+------------------------------------------------ ----------
* エラーメッセージ
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 error() {
$this->error = mysql_error($this->conn);
if('' != $this->queryStr){
$this->error .= "n [ SQL语句 ] : ".$this->queryStr;
}
$this->エラーを返します;
}
/**
+------------------------------------------------ ----------
* クエリ結果をリリース
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*/
public function free() {
@mysql_free_result($this->クエリID);
$this->クエリID = 0;
$this->query_list = null;
}
/**
+------------------------------------------------ ----------
*接続を閉じる
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
関数 close(){
if ($this->conn && !mysql_close($this->conn)){
throw new Exception($this->error());
}
$this->conn = 0;
$this->クエリカウント = 0;
}
/**
+------------------------------------------------ ----------
*破壊方法
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*/
関数 __destruct(){
$this->close();
}
}
// +---------------------------------------------- --- ----------------------------------
// |MySQL 操作クラス
// +---------------------------------------------- --- ----------------------------------
// |@微梁QQ:496928838
// +---------------------------------------------- --- ----------------------------------
クラスMySQL{
プライベート $db_mysql_hostname;
プライベート $db_mysql_username;
プライベート $db_mysql_password;
プライベート $db_mysql_database;
プライベート $db_mysql_port;
プライベート $db_mysql_charset;
プライベート $query_list = array();
//クエリ数
パブリック $query_count = 0;
//クエリ開始時刻
public $query_start_time;
//現在のクエリID
保護された $queryID;
//現在の接続
保護された $conn;
//トランザクション命令の数
保護された $transTimes = 0;
//レコード数を返すか、レコード数に影響を与えます
保護された $numRows = 0;
// エラーメッセージ
protected $error = '';
パブリック関数 __construct($hostname_or_conf,$username,$password,$database,$port = '3306',$char = 'utf8'){
if(is_array($hostname_or_conf)){
$this->db_mysql_hostname = $hostname_or_conf['hostname'];
$this->db_mysql_username = $hostname_or_conf['username'];
$this->db_mysql_password = $hostname_or_conf['パスワード'];
$this->db_mysql_database = $hostname_or_conf['データベース'];
$this->db_mysql_port = isset($hostname_or_conf['port'])?$hostname_or_conf['port']:'3306';
$this->db_mysql_charset = isset($hostname_or_conf['charset'])?$hostname_or_conf['charset']:'utf8';
}elseif(!empty($hostname_or_conf)||!empty($username)||!empty($password)||!empty($database))
{
$this->db_mysql_hostname = $hostname_or_conf;
$this->db_mysql_username = $username;
$this->db_mysql_password = $password;
$this->db_mysql_database = $database;
$this->db_mysql_port = $port;
$this->db_mysql_charset = $char;
}その他{
Die('設定エラー。');
}
$this->connect();
}
プライベート関数 connect(){
$server = $this->db_mysql_hostname.':'.$this->db_mysql_port;
$this->conn = mysql_connect($server,$this->db_mysql_username,$this->db_mysql_password,true) または die('MySQL DB 接続エラー!');
mysql_select_db($this->db_mysql_database,$this->conn) または die('select db error!');
mysql_query("セット名 " . $this->db_mysql_charset, $this->conn);
}
/**
+------------------------------------------------ ----------
*データオブジェクトの値を設定します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*テーブル、場所、順序、制限、データ、フィールド、結合、グループ、所有
+------------------------------------------------ ----------
*/
パブリック関数テーブル($table){
$this->query_list['table'] = $table;
$this を返します;
}
パブリック関数 where($where){
$this->query_list['where'] = $where;
$this を返します;
}
パブリック関数の順序($order){
$this->query_list['order'] = $order;
$this を返します;
}
パブリック関数の制限($offset,$length){
if(!isset($length)){
$length = $offset;
$オフセット = 0;
}
$this->query_list['limit'] = '制限 '.$offset.','.$length;
$this を返します;
}
パブリック関数データ($data){
/*
if(is_object($data)){
$data = get_object_vars($data);
}elseif (is_string($data)){
parse_str($data,$data);
}elseif(!is_array($data)){
//ログ:DATA_TYPE_INVALID
}
*/
$this->query_list['data'] = $data;
$this を返します;
}
パブリック関数フィールド($fields){
$this->query_list['fields'] = $fields;
$this を返します;
}
パブリック関数 join($join){
$this->query_list['join'] = $join;
$this を返します;
}
パブリック関数グループ($group){
$this->query_list['group'] = $group;
$this を返します;
}
パブリック関数having($having){
$this->query_list['having'] = $having;
$this を返します;
}
/**
+------------------------------------------------ ----------
* クエリ
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 select(){
$select_sql = '選択';
$fields = isset($this->query_list['fields'])?$this->query_list['fields']:'*';
$select_sql.=$fields;
$select_sql.= ' from `'.$this->query_list['table'].'` ';
isset($this->query_list['join'])?($select_sql.=$this->query_list['join']):'';
isset($this->query_list['where'])?($select_sql.=' where '.$this->query_list['where']):'';
isset($this->query_list['group'])?($select_sql.=' group by'.$this->query_list['group']):'';
isset($this->query_list['having'])?($select_sql.=' mysql を持つ '.$this->query_list['having']):'';
isset($this->query_list['order'])?($select_sql.=' order by '.$this->query_list['order']):'';
isset($this->query_list['limit'])?($select_sql.=' '.$this->query_list['limit']):'';
return $this->query($select_sql);
}
/**
+------------------------------------------------ ----------
*
を追加
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 add(){
$add_sql = '`' に挿入します。$this->query_list['table'].'` (';
$data = $this->query_list['data'];
$value = $field = '';
foreach($data as $k=>$v){
$field .= '`'.$k.'`,';
if(is_numeric($v))
$value .= $v.',';
それ以外
$value .= '''.$v.'',';
}
$add_sql .= rtrim($field,',').') 値 ('.rtrim($value,',').')';
return $this->execute($add_sql);
}
/**
+------------------------------------------------ ----------
*削除
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 delete(){
$del_sql = '「.$this->query_list['table'].'` から削除します。」 where '.$this->query_list['where'];
if(isset($this->query_list['order']))
$del_sql .= 'order by '.$this->query_list['order'];
if(isset($this->query_list['limit']))
$del_sql .= ' '.$this->query_list['limit'];
return $this->execute($del_sql);
}
/**
+------------------------------------------------ ----------
*更新
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 update(){
$update_sql = '更新 `'.$this->query_list['テーブル'].'` セット ';
$data = $this->query_list['data'];
foreach($data as $k=>$v){
if(is_numeric($v))
$update_sql .= '`'.$k.'` ='.$v.',';
それ以外
$update_sql .= ''.$k.'' =''.$v.'',';
}
$update_sql = rtrim($update_sql,',');
if(isset($this->query_list['where']))
$update_sql .= ' where '.$this->query_list['where'];
if(isset($this->query_list['order']))
$update_sql .= ' order by '.$this->query_list['order'];
if(isset($this->query_list['limit']))
$update_sql .= ' '.$this->query_list['limit'];
return $this->execute($update_sql);
}
/**
+------------------------------------------------ ----------
* クエリを実行してデータセットを返します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param string $sql SQLコマンド
*/
パブリック関数クエリ($sql) {
if ( !$this->conn ) が false を返す;
$this->queryStr = $sql;
//释放前回の查询結果
if ( $this->queryID ) { $this->free(); }
$this->query_start_time = microtime(true);
$this->queryID = mysql_query($sql, $this->conn);
$this->query_count++;
if ( false === $this->クエリID ) {
$this->error();
false を返します;
} その他 {
$this->numRows = mysql_num_rows($this->クエリID);
$this->getAll();
を返す }
}
/**
+------------------------------------------------ ----------
* ステートメントを実行します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param string $sql SQLコマンド
+------------------------------------------------ ----------
*/
パブリック関数実行($sql) {
if ( !$this->conn ) が false を返す;
$this->queryStr = $sql;
//释放前回の查询結果
if ( $this->queryID ) { $this->free(); }
$this->query_start_time = microtime(true);
$result = mysql_query($sql, $this->conn) ;
$this->query_count++;
if ( false === $result) {
$this->error();
false を返します;
} その他 {
$this->numRows = mysql_affected_rows($this->conn);
$this->numRows を返す;
}
}
/**
+------------------------------------------------ ----------
* すべてのクエリデータを取得します
+------------------------------------------------ ----------
* @アクセス非公開
+------------------------------------------------ ----------
* @return 配列
*/
プライベート関数 getAll() {
// 返される回数データ集
$result = array();
if($this->numRows>0) {
while($row = mysql_fetch_assoc($this->クエリID)){
$result[] = $row;
}
mysql_data_seek($this->クエリID,0);
}
$result を返します;
}
/**
+------------------------------------------------ ----------
* データテーブルのフィールド情報を取得します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*/
パブリック関数 getFields($tableName) {
$result = $this->query('SHOW COLUMNS FROM `'.$tableName.'`');
$info = array();
if($result) {
foreach ($result as $key => $val) {
$info[$val['フィールド']] = array(
「名前」 => $val['フィールド'],
「タイプ」 => $val['タイプ'],
'notnull' => (bool) ($val['Null'] === ''), // null でない場合は空、null は Yes です
'デフォルト' => $val['デフォルト'],
'プライマリ' => (strto lower($val['Key']) == 'pri'),
'autoinc' => (strto lower($val['Extra']) == 'auto_increment'),
);
}
}
$info を返します;
}
/**
+------------------------------------------------ ----------
* データベースのテーブル情報を取得します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*/
パブリック関数 getTables($dbName='') {
if(!empty($dbName)) {
$sql = '.$dbName からテーブルを表示;
}その他{
$sql = 'テーブルを表示';
}
$result = $this->query($sql);
$info = array();
foreach ($result as $key => $val) {
$info[$key] = 現在($val);
}
$info を返します;
}
/**
+------------------------------------------------ ----------
* 最後の操作のID
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 last_insert_id(){
return mysql_insert_id($this->conn);
}
/**
* 結果セット数を指定して
を実行する
*/
パブリック関数カウント($sql){
return $this->execute($sql);
}
/**
+------------------------------------------------ ----------
* 取引を開始します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @return void
+------------------------------------------------ ----------
*/
パブリック関数 startTrans() {
if ($this->transTimes == 0) {
mysql_query('トランザクションの開始', $this->conn);
}
$this->transTimes++;
戻ります;
}
/**
+------------------------------------------------ ----------
* トランザクションを送信します
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @return boolen
+------------------------------------------------ ----------
*/
パブリック関数 commit()
{
if ($this->transTimes > 0) {
$result = mysql_query('COMMIT', $this->conn);
$this->transTimes = 0;
if(!$result){
新しい例外をスロー($this->error());
}
}
true を返します;
}
/**
+------------------------------------------------ ----------
* トランザクションのロールバック
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @return boolen
+------------------------------------------------ ----------
*/
パブリック関数 rollback()
{
if ($this->transTimes > 0) {
$result = mysql_query('ROLLBACK', $this->conn);
$this->transTimes = 0;
if(!$result){
新しい例外をスロー($this->error());
}
}
true を返します;
}
/**
+------------------------------------------------ ----------
* エラーメッセージ
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
* @param
+------------------------------------------------ ----------
*/
パブリック関数 error() {
$this->error = mysql_error($this->conn);
if('' != $this->queryStr){
$this->error .= "n [ SQL语句 ] : ".$this->queryStr;
}
$this->エラーを返す;
}
/**
+------------------------------------------------ ----------
* クエリ結果をリリース
+------------------------------------------------ ----------
* @アクセス公開
+------------------------------------------------ ----------
*/
パブリック関数 free() {
@mysql_free_result($this->クエリID);
$this->クエリID = 0;
$this->query_list = null;
}
/**