今日は ThinkPHP の追加、削除、変更、チェックの操作をいくつか学びました。かなりわかりやすくなったと思います。一緒に学びましょう。
#1. 作成操作
ThinkPHP の add メソッドを使用して、データベースにデータを追加します。
使用方法は次のとおりです。
$User = M("User"); // 实例化User对象 $data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->add($data);
または、データ メソッドを使用して、継続的に操作
$User->data($data)->add();
データ オブジェクトが追加前に作成されている場合 (たとえば、create メソッドまたは data メソッドを使用)、add メソッドはデータを渡す必要はありません。
create メソッドの使用例:
$User = M("User"); // 实例化User对象 // 根据表单提交的POST数据创建数据对象 $User->create(); $User->add(); // 根据条件保存修改的数据
主キーが自動的に作成される場合成長型であり、データが正常に挿入された場合、Add メソッドの戻り値は、最後に挿入された主キーの値であり、直接取得できます。
2. データの読み取り
ThinkPHP でデータを読み取る方法は多数あり、通常はデータの読み取りと読み取りに分けられます。データセットを読み取ります。
データ セットを読み取るには、findall メソッドまたは select メソッドを使用します (findall メソッドと select メソッドは同等です):
$User = M("User"); // 实例化User对象 // 查找status值为1的用户数据以创建时间排序返回10条数据 $list = $User->where('status=1')->order('create_time')->limit(10)->select();
select メソッドの戻り値は 2 次元配列で、結果が見つからない場合は空の配列が返されます。 上記の一貫した操作方法と組み合わせると、複雑なデータ クエリを完了できます。最も複雑な一貫した方法は、where メソッドの使用です。この部分には多くのコンテンツが含まれるため、アセンブル方法についてはクエリ言語部分で詳しく説明します。クエリ条件を示します。基本クエリには当面、関連クエリ部分は含まれませんが、関連モデルを使用してデータ操作を実行します。この部分については、関連モデル部分を参照してください。
find メソッドを使用してデータを読み取ります。
データを読み取る操作は、実際にはデータ セットをすべて選択する操作と似ています。これらは find メソッドでも使用できます。違いは、find メソッドは最大 1 つのレコードのみを返すため、limit メソッドは find クエリ操作では無効であることです。
$User = M("User"); // 实例化User对象 // 查找status值为1name值为think的用户数据 $User->where('status=1 AND name="think" ')->find();
条件を満たすデータが複数ある場合でも、find メソッドは最初のレコードのみを返します。
#フィールドの値を読み取りたい場合は、getField メソッドを使用できます。例:
# #$User = M("User"); // 实例化User对象
// 获取ID为3的用户的昵称
$nickname = $User->where('id=3')->getField('nickname');
#複数のフィールドが渡された場合、連想配列を返すことができます:
#$User = M("User"); // 实例化User对象
// 获取所有用户的ID和昵称列表
$list = $User->getField('id,nickname');
# #返されるリストは配列であり、キー名はユーザーの ID、キー値はユーザーのニックネームです。
3.
データの更新ThinkPHP の save
メソッドを使用してデータベースを更新します。 、コヒーレント操作の使用もサポートされています。
$User = M("User"); // 实例化User对象 // 要修改的数据对象属性赋值 $data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->where('id=5')->save($data); // 根据条件保存修改的数据データベースのセキュリティを確保し、エラーを回避するために、更新条件がない場合は、データ テーブル全体を更新します。 、データ オブジェクト自体には主キー フィールドが含まれません。save
メソッドはデータベース レコードを更新しません。 したがって、次のコードは
データベース内のレコードを変更しません $User->save($data); 除非使用下面的方式: 如果id是数据表的主键的话,系统自动会把主键的值作为更新条件来更新其他字段的值。 还有一种方法是通过create或者data方法创建要更新的数据对象,然后进行保存操作,这样save方法的参数可以不需要传入。 使用create方法的例子: 上面的情况,表单中必须包含一个以主键为名称的隐藏域,才能完成保存操作。 如果只是更新个别字段的值,可以使用setField方法: 而对于统计字段(通常指的是数字类型)的更新,系统还提供了setInc和setDec方法: 四、删除数据 在ThinkPHP中使用delete方法删除数据库中的记录。同样可以使用连贯操作进行删除操作。 delete方法可以用于删除单个或者多个数据,主要取决于删除条件,也就是where方法的参数,也可以用order和limit方法来限制要删除的个数,例如: 本文讲解了关于ThinkPHP的增、删、改、查 的一些总结,更多相关内容请关注php中文网。 相关推荐:$User = M("User"); // 实例化User对象
// 要修改的数据对象属性赋值
$data['id'] = 5;
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->save($data); // 根据条件保存修改的数据
$User = M("User"); // 实例化User对象
// 要修改的数据对象属性赋值
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->data($data)->save(); // 根据条件保存修改的数据
$User = M("User"); // 实例化User对象
// 根据表单提交的POST数据创建数据对象
$User->create();
$User->save(); //根据条件保存要修改的数据
$User = M("User"); // 实例化User对象
// 更改用户的name值
$User-> where('id=5')->setField('name','ThinkPHP');
setField方法支持同时更新多个字段,只需要传入数组即可,例如:
$User = M("User"); // 实例化User对象
// 更改用户的name和email的值
$User-> where('id=5')->setField(array('name','email'),array('ThinkPHP','ThinkPHP@gmail.com'));
$User = M("User"); // 实例化User对象
$User->setInc('score','id=5',3);// 用户的积分加3
$User->setInc('score','id=5'); // 用户的积分加1
$User->setDec('score','id=5',5);// 用户的积分减5
$User->setDec('score','id=5'); // 用户的积分减1
$User = M("User"); // 实例化User对象
$User->where('id=5')->delete(); // 删除id为5的用户数据
$User->where('status=0')->delete(); // 删除所有状态为0的用户数据
// 删除所有状态为0的5个用户数据按照创建时间排序
$User->where('status=0')->order('create_time')->limit('5')->delete();
以上がThinkPHP での追加、削除、変更、チェックに関する概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









