<マップ>');
$this->pconnect=$pconnect;
$this->dblink=$pconnect?mysql_pconnect($hostname,$username,$userpwd):mysql_connect($hostname,$username,$userpwd);
(!$this->dblink||!is_resource($this->dblink)) && Fatal_error("データベースへの接続に失敗しました!");
@mysql_unbuffered_query("セット名 {$charset}");
if($this->version()>'5.0.1')
{
@mysql_unbuffered_query("set sql_mode = ''");
}
@mysql_select_db($database) または Fatal_error("テーブルを選択できません!");
$this->dblink; を返す
}
関数クエリ($sql,$unbuffered=false)
{
// $sql をエコーします。' ';
$this->rs=$unbuffered?mysql_unbuffered_query($sql,$this->dblink):mysql_query($sql,$this->dblink);
//(!$this->rs||!is_resource($this->rs)) && Fatal_error("クエリの実行に失敗しました! error:".mysql_error());
if(!$this->rs)fatal_error('SQL ステートメント '.$sql.' の実行時に次のエラーが発生しました:'.mysql_error());
$this->rs; を返す
}
関数 fetch_one($sql)
{
$this->rs=$this->クエリ($sql);
dircms_strips チュートリアルを返す lashes($this->filter_pass(mysql_fetch_array($this->rs,mysql_assoc)));
}
function get_maxfield($filed='id',$table) // $table テーブルの $filed フィールドの最大値を取得します
{
$r=$this->fetch_one("select {$table}.{$filed} from `{$table}` order by `{$table}`.`{$filed}` desc limit 0,1") ;
$r[$filed] を返します;
}
関数 fetch_all($sql)
{
$this->rs=$this->クエリ($sql);
$result=array();
while($rows=mysql_fetch_array($this->rs,mysql_assoc))
{
$result[]=$rows;
}
mysql_free_result($this->rs);
dircms_stripslashes($this->filter_pass($result)) を返します
}
関数 fetch_all_withkey($sql,$key='id')
{
$this->rs=$this->クエリ($sql);
$result=array();
while($rows=mysql_fetch_array($this->rs,mysql_assoc))
{
$result[$rows[$key]]=$rows;
}
mysql_free_result($this->rs);
dircms_stripslashes($this->filter_pass($result)) を返します
}
関数 last_insert_id()
{
if(($insertid=mysql_insert_id($this->dblink))>0)return $insertid;
else //auto_increment のカラム型が bigint の場合、mysql_insert_id() によって返される値は正しくありません。
{
$result=$this->fetch_one('last_insert_id() を insertid として選択');
$result['insertid']; を返します
}
}
関数挿入($tbname,$varray,$replace=false)
{
$varray=$this->escape($varray);
$tb_fields=$this->get_fields($tbname); // mb.bKjia.c0m 升级一下,增加判断字段有無
foreach($varray as $key => $value)
{
if(in_array($key,$tb_fields))
{
$filds[]='`'.$key.'`';
$values[]=is_string($value)?'''.$value.''':$value;
}
}
if($fileds)
{
$filds=implode(',',$fileds);
$filds=str_replace(''','`',$fileds);
$values=implode(',',$values);
$sql=$replace?"{$tbname}({$fileds}) の値 ({$values}) に置き換えます":"{$tbname}({$fileds}) の値 ({$values}) に挿入します";
$this->query($sql,true);
return $this->last_insert_id();
}
それ以外の場合は false を返します;
}
関数更新($tbname, $array, $where = '')
{
$array=$this->escape($array);
if($where)
{
$tb_fields=$this->get_fields($tbname); // www.bKjia.c0m,增加判断字段有無
$sql = '';
foreach($array as $k=>$v)
{
if(in_array($k,$tb_fields))
{
$k=str_replace('','',$k);
$sql .= ", `$k`='$v'";
}
}
$sql = substr($sql, 1);
if($sql)$sql = "更新 `$tbname` set $sql where $where";
それ以外の場合は true を返します;
}
それ以外
{
$sql = "`$tbname`(`".implode('`,`', array_keys($array))."`) 値('".implode("','", $array) に置き換えます。" ')";
}
return $this->query($sql,true);
}
function mysql_delete($tbname,$idarray,$filedname='id')
{
$idwhere=is_array($idarray)?implode(',',$idarray):intval($idarray);
$where=is_array($idarray)?"{$tbname}.{$filedname} in ({$idwhere})":" {$tbname}.{$filedname}={$idwhere}";
return $this->query("delete from {$tbname} where {$where}",true);
}
関数 get_fields($table)
{
$fields=array();
$result=$this->fetch_all("`{$table}` の列を表示");
foreach($result as $val)
{
$fields[]=$val['フィールド'];
}
$fields を返します;
}
関数 get_table_status($database)
{
$status=array();
$r=$this->fetch_all("`".$database."`" からテーブルのステータスを表示); /////// show table ステータスの特性は show table と同様ですが、各テーブルの大量の情報を提供できます。
foreach($r as $v)
{
$status[]=$v;
}
$status を返します;
}
関数 get_one_table_status($table)
{
return $this->fetch_one("'$table' のようなテーブルのステータスを表示");
}
function create_fields($tbname,$fieldname,$size=0,$type='varchar') // 2010-5-14 修正一下
{
if($size)
{
$size=strtoupper($type)=='varchar'?$size:8;
$this->query("alter table `{$tbname}` add `$fieldname` {$type}( {$size} ) not null",true);
}
else $this->query("alter table `{$tbname}` add `$fieldname` mediatext not null",true);
true を返します;
}
function get_tables() //すべての表表名を取得します
{
$tables=array();
$r=$this->fetch_all("テーブルを表示");
foreach($r as $v)
{
foreach($v として $v_)
{
$tables[]=$v_;
}
}
$tables を返します;
}
function create_model_table($tbname) //コンテンツ モデル テーブルを作成します (開始: 最初はフィールド contentid int(20) のみ、コンテンツ テーブルに使用されます。 ////////////////// / //// 更新: 2010-5-20 `content` メディアテキストが null ではありません、フィールドはデフォルトで追加されました)
{
if(in_array($tbname,$this->get_tables())) return false; ///////////////////// テーブル名がすでに存在する場合、 falseを返します
if($this->query("テーブル `{$tbname}` を作成します ( )
`contentid` mediaint(8) が null ではありません、
`content` メディアテキストが null ではありません、
キー(`コンテンツID`)
) エンジン = myisam デフォルト charset=utf8",true))return true; ///////////////////// 成功時に true を返します
false を返す /////////////失敗した場合は false を返します
}
function create_table($tbname) //メンバー モデルの空のテーブルを作成します (最初はフィールド userid int(20) のみ、メンバー テーブルに使用、2010-4-26)
{
if(in_array($tbname,$this->get_tables())) return false;
if($this->query("テーブル `{$tbname}` を作成します ( )
`userid` mediaint(8) が null ではありません、
キー ( `userid` )
) エンジン = myisam デフォルト charset=utf8",true))true を返します;
false を返します;
}
functionscape($str) // 危険な文字をフィルタリングします
{
if(!is_array($str)) return str_replace(array('n', 'r'), array(chr(10), chr(13)),mysql_real_escape_string(preg_replace($this->search,$this- >replace, $str), $this->dblink));
foreach($str as $key=>$val) $str[$key] = $this->escape($val);
$str; を返します
}
function filter_pass($string, $allowedtags = '', $disabledattributes = array('onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus'、'onbeforepaste'、'onbeforeprint'、'onbeforeunload'、'onbeforeupdate'、'onblur'、'onbounce'、'oncellchange'、'onchange'、'onclick'、'oncontextmenu'、'oncontrolselect'、'oncopy '、'oncut'、'ondataavaible'、'ondatasetchanged'、'ondatasetcomplete'、'ondblclick'、'ondeactivate'、'ondrag'、'ondragdrop'、'ondragend'、'ondragenter'、'ondragleave'、'ondragover'、 'ondragstart'、'ondrop'、'onerror'、'onerrorupdate'、'onfilterupdate'、'onfinish'、'onfocus'、'onfocusin'、'onfocusout'、'onhelp'、'onkeydown'、'onkeypress'、'onkeyup '、'onlayoutcomplete'、'onload'、'onlosecapture'、'onmousedown'、'onmouseenter'、'onmouseleave'、'onmousemove'、'onmoveout'、'onmouseotutorialver'、'onmouseup'、'onmousewheel'、'onmove ', 'onmoveend'、'onmovestart'、'onpaste'、'onpropertychange'、'onreadystatechange'、'onreset'、'onresize'、'onresizeend'、'onresizestart'、'onrowexit'、'onrowsdelete'、'onrowsinserted'、'onscroll '、'onselect'、'onselectionchange'、'onselectstart'、'onstart'、'onstop'、'onsubmit'、'onunload'))
{
if(is_array($string))
{
foreach($string as $key => $val) $string[$key] = $this->filter_pass($val, allowed_htmltags);
}
それ以外
{
$string = preg_replace('/s('.implode('|', $disabledattributes).').*?([s>])/', '2', preg_replace('/<(.*?) >/ie', "'<'.preg_replace(array('/Web ページの効果:[^"']*/i', '/(".implode('|', $disabledattributes).")[ tn ]*=[ tn]*["'][^"']*["']/i', '/s+/')、array('', '', ' ')、stripslashes('1' ) ) '>'"、strip_tags($string, $allowedtags)));
}
$string を返します;
}
関数drop_table($tbname)
{
Return $this->query("存在する場合はテーブルを削除 `{$tbname}`",true);
}
関数バージョン()
{
mysql_get_server_info($this->dblink)を返します;
}
}
http://www.bkjia.com/PHPjc/629738.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629738.html技術記事 php チュートリアル mysql チュートリアル データベース チュートリアル 接続クラス このデータベース接続クラスは、SQL アンチインジェクション関数を自動的にロードし、いくつかの機密性の高い SQL クエリ キーワードをフィルタリングし、判断ワードも追加します...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQL:世界で最も人気のあるデータベースの紹介
Apr 12, 2025 am 12:18 AM
MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。
PHPとPython:2つの一般的なプログラミング言語を比較します
Apr 14, 2025 am 12:13 AM
PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。
PHPの現在のステータス:Web開発動向を見てください
Apr 13, 2025 am 12:20 AM
PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。
なぜMySQLを使用するのですか?利点と利点
Apr 12, 2025 am 12:17 AM
MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。
PHP:多くのウェブサイトの基礎
Apr 13, 2025 am 12:07 AM
PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。
MySQLの場所:データベースとプログラミング
Apr 13, 2025 am 12:18 AM
データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます
PHP:Web開発の重要な言語
Apr 13, 2025 am 12:08 AM
PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
PHP対その他の言語:比較
Apr 13, 2025 am 12:19 AM
PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。
See all articles
|