mysqlでの簡単なセキュリティ処理とページングアルゴリズム
2459 ワード
単純ページングアルゴリズム
//合計エントリ数$sql=「select count(*)from tablename」;
ページング
いくつかスキップ(オフセット)$offset=($page-1)*$pagesize現在のページ$page=isset($_GET['page']):1 ; ページあたり$pageSize=3を表示します. すべてのメッセージを検索し、$messageList変数/$sql="SELECT*FROM ページング検索フォーム用get値転送(検索条件を維持するために次のページをクリックしても変わらず使用)//配列を作成$condition=[];//もし$GETから送られてきた値は空ではなく、配列にif(!empty($_GET['id']){$condition[]='''id='{$_GET['id']}';}if(!empty($_GET['title']))}${condition[]=''title like'%{$_GET['title']}%']]]}%';}//$conditionが空でない場合は、関数jion()でつなぎ合わせ、ページング検索where条件$where=''を構成します.if(count($condition)>0){$where='where'.join('and',$condition);//and程度にスペース} $sql="SELECT*FROM表名where$where LIMIT$offset,$pagesize";検索ページング条件保持 $get = $_GET; unset($get['page']);//前にpageがあったので、つなぎ合わせる前に前のpageを削除し、$query='&'.http_build_query($get);//検索条件が渡されると$queryの文字列が接続され、$queryがurlに接続されます.次のページをクリックすると、条件はurlを介して末尾ページに再渡されます.
データのセキュリティ処理
1.文字列:
2.数値処理$id=intval($id);*アップロードされたデータの特殊な文字をエスケープしないと、アップロードされたデータがaであるなど、データベースの安全性が低下します.drop table catogory(テーブル名);データのcategoryテーブルが削除されます
sql増删改查成功判断
phpにはいくつかの拡張(extension)が開いていません.例えばPHP_mysqli.ext、phpを使用する必要があります.iniでextension_dir=ext書き込みオープンerrorエラー表示mb_などの関数が見つからない場合strlenはphpに達する必要がある.iniで拡張子を見つけて*$link=mysqli_を開くconnect()/mysqli_set_charset()/mysqli_select_db/および増減/変更はブール値を返し、selectクエリはオブジェクトを返し、結果を解放する必要がある.mysqliの削除/変更affected_rows()は、mysqliの追加を判断します.inset_id()メールボックスの長さを判断するにはvarchar(225)を設定する必要がある.テーブルの作成時にフィールドのプロパティtextの後に制約はありません
//合計エントリ数$sql=「select count(*)from tablename」;
ページング
いくつかスキップ(オフセット)$offset=($page-1)*$pagesize
message
LIMIT{$offset},{$pageSize}";1.各ページに数個のデータ$pagesize=3を表示することを規定する.2.最大ページ番号($pageCount)を計算するには、合計レコード数($itemCount)の計算式を問い合わせる必要があります.$pageCount=ceil($itemCount/$pageSize);3.現在のページ番号$page=isset($_GET['page']):1 ; 4.現在のページ番号有効性処理(ページ番号が1未満の場合は1に等しくする)$page=max($page,1);5.ページングのオフセット$offset=($page-1)*$pagesizeを計算する.6.SQLのlimit部分「SELECT*FROM table_name LIMIT$offset,$pagesize」;データのセキュリティ処理
1.文字列:
$title = mysqli_real_escape_string($title);
$title = mysqli_real_escape_string($link, $title);
$name = mysqli_real_escape_string($link, $name);
$email = mysqli_real_escape_string($link, $email);
$content = mysqli_real_escape_string($link, $content);
2.数値処理$id=intval($id);*アップロードされたデータの特殊な文字をエスケープしないと、アップロードされたデータがaであるなど、データベースの安全性が低下します.drop table catogory(テーブル名);データのcategoryテーブルが削除されます
sql増删改查成功判断
phpにはいくつかの拡張(extension)が開いていません.例えばPHP_mysqli.ext、phpを使用する必要があります.iniでextension_dir=ext書き込みオープンerrorエラー表示mb_などの関数が見つからない場合strlenはphpに達する必要がある.iniで拡張子を見つけて*$link=mysqli_を開くconnect()/mysqli_set_charset()/mysqli_select_db/および増減/変更はブール値を返し、selectクエリはオブジェクトを返し、結果を解放する必要がある.mysqliの削除/変更affected_rows()は、mysqliの追加を判断します.inset_id()メールボックスの長さを判断するにはvarchar(225)を設定する必要がある.テーブルの作成時にフィールドのプロパティtextの後に制約はありません