この記事では、mysqli を使用して PHP で MySQL データベースを操作する方法を主に紹介します。興味のある方はぜひ参考にしてください。
PHP の mysqli 拡張機能は、以前のバージョンのすべての機能を提供します。さらに、MySQL はすでにフル機能のデータベース サーバーであるため、これにより PHP にいくつかの新機能が追加されます。 Mysqli はこれらの新機能もサポートしています。
1つ。 接続の確立と切断
MySQL データベースと対話する場合、最初に接続が確立され、最後に接続が切断されます。これには、サーバーへの接続とデータベースの選択、そして最後に接続の終了が含まれます。 mysqli のほぼすべての機能と同様に、これはオブジェクト指向のアプローチまたは手続き型の方法を使用して実現できます。
1. mysqli オブジェクトを作成します
$_mysqli = newmysqli();
2. MySQL ホスト、ユーザー、パスワード、データベースを接続します
$_mysqli->connect( ' localhost' , 'root' , 'yangfan' , 'guest' );
3. 接続パラメーターを使用して mysqli オブジェクトを作成します
$_mysqli( 'localhost' , 'root' , 'yangfan' , 'guest ');
4。
Ⅱ。 接続エラーの処理
MySQL データベースに接続できない場合、このページが意図したジョブを実行し続ける可能性はほとんどありません。したがって、接続エラーを必ず監視し、それに応じて対応してください。 Mysqli 拡張機能には、mysqli_connect_errno() メソッドや mysqli_connect_error() メソッドなど、エラー情報を取得するために使用できる多くの機能が含まれています。 mysqli_connect_errno() 関数は、データベースへの接続によって返されたエラー番号を返します。
Mysqli_connect_error() 関数は、データベースへの接続によって返されたエラー コードを返します。
if(mysqli_connect_errno()) {
echo' 数据库连接错误,错误信息: ' .mysqli_connect_error();
exit();
}
りー
三. データベースとの対話
クエリの大部分は、作成、取得、更新、削除のタスクに関連しており、これらは総称して CRUD と呼ばれます。
1. データを取得する
Web プログラムの作業のほとんどは、要求されたデータを取得してフォーマットすることです。これを行うには、SELECT クエリをデータベースに送信し、結果を繰り返し処理し、各行をブラウザに出力し、独自の要件に従って出力する必要があります。
if( $_mysqli ->errno) { echo' 数据库操作时发生错误,错误代码是: ' . $_mysqli ->error; }
2. クエリ結果を解析する
クエリが実行され、結果セットが準備されたら、取得された結果行を解析します。 フィールドを参照する方法のみが異なるため、どの方法を選択するかは主に個人の好みによって異なります。
結果セットをオブジェクトに入れる
mysqliのオブジェクト指向構文を使用できるため、結果セットを完全にオブジェクト指向で管理できます。これは、 fetch_object() メソッドを使用して実行できます。
// 結果セットをオブジェクトにパックします $_row = $_reslut->fetch_object();// オブジェクト内のフィールド (属性) を出力します
echo $_row->tg_username;
/ / すべてのユーザー名を走査します
while (!! $_row =$_reslut ->fetch_object()) {
echo$_row ->tg_username. '
;
}
インデックス配列と連想配列を使用します//結果セットを配列(インデックス+連想)にパックします
$_row = $_reslut->fetch_array();
//添字3を付けてフィールド(属性)を出力します
echo $_row [ 3 ];
// 結果セットをインデックス配列にパックします $_row = $_reslut->fetch_row();
echo $_row [ 3 ];
// をパックします結果セット 連想配列にパックされます
$_row = $_reslut->fetch_assoc();
echo $_row ['tg_username' ];
3. 選択された行と影響を受ける行を決定します
SELECT クエリによって返される行数、または INSERT、UPDATE、または DELET クエリによって影響を受ける行数を確認できるようにしたい。 num_rows とaffected_rows の 2 つの属性を使用できます
// クエリを使用するときに、SELECT によってクエリされた行数を知りたい場合は、num_rows を使用できます。
echo $_reslut->num_rows;
// クエリを使用する場合、SELECT、INSERT、UPDATE、および DELETE クエリによって影響を受ける行の数を知りたい場合は、affected_rows が属性であることに注意してください。 $_mysqliの下に echo $_mysqli->affected_rows; 4. 移动指针的操作和获取字段 当你并不想从第一条数据开始获取 ,或者并不想从第一个字段获取 , 你可以使用数据指针移动或者字段指针移动的方式调整到恰当的位置。 当然 , 你还可以获取字段的名称及其相关的属性。 5. 执行多条 SQL 语句 有的时候 ,我们需要在一张页面上同时执行多条 SQL 语句 , 之前的方法就是分别创建多个结果集然后使用。但这样资源消耗很大,也不利于管理。PHP 提供了执行多条 SQL 语句的方法 $_mysqli->multi_query() ; 6. 执行数据库事务 事务 (transaction)是作为整个一个单元的一组有序的数据库操作 。 如果一组中的所有操作都成功 , 则认为事务成功 ,即使只有一个失败操作 , 事务也不成功 。 如果所有操作成功完成 , 事务则提交 (commit) ,其修改将作用于所有其他数据库进程 。 如果一个操作失败 , 则事务将回滚 (roll back),该事务所有操作的影响都将取消。 首先 , 您的 MySQL 是InnoDB 或 BDB 引擎的一种 , 一般来说 , 你安装了 AppServ 的集成包 , 你选择 InnoDB的引擎的数据库即可 。 如果你建立的表不是 InnoDB , 可以在 phpmyadmin里修改。 以上就是本文的全部内容,希望对大家的学习有所帮助。 相关推荐:// 计算有多少条字段
echo $_reslut->field_count;
// 获取字段的名称
$_field = $_reslut->fetch_field();
echo $_field->name;
// 遍历字段
while (!! $_field =$_reslut ->fetch_field()) {
echo$_field ->name. '<br />' ;
}
// 一次性取得字段数组
print_r( $_reslut->fetch_fields());
// 移动数据指针
$_reslut->data_seek( 5 );
// 移动字段指针
$_reslut->field_seek( 2 );
// 创建多条 SQL 语句
$_sql .="SELECT * FROM tg_user;" ;
$_sql .="SELECT * FROM tg_photo;" ;
$_sql .="SELECT * FROM tg_article" ;
// 开始执行多条 SQL 语句
if ( $_mysqli->multi_query( $_sql )) {
//开始获取第一条 SQL 语句的结果集
$_result= $_mysqli ->store_result();
print_r($_result ->fetch_array());
//将结果集指针移到下一个
$_mysqli->next_result();
$_result= $_mysqli ->store_result();
print_r($_result ->fetch_array());
$_mysqli->next_result();
$_result= $_mysqli ->store_result();
print_r($_result ->fetch_array());
} else {
echo'sql 语句有误! ' ;
}
// 首先你必须关闭自动提交数据
$_mysqli->autocommit( false );
// 创建一个 SQL 语句,必须同时运行成功,不能出现一个成功,一个失败
$_sql .="UPDATE tg_friend SET tg_state=tg_state+5 WHERE tg_id=1;" ;
$_sql .="UPDATE tg_flower SET tg_flower=tg_flower-5 WHERE tg_id=1;" ;
// 执行两条 SQL 语句
if ( $_mysqli->multi_query( $_sql )) {
//获取第一条 SQL 一影响的行数
$_success= $_mysqli ->affected_rows == 1 ? true : false ;
//下移,第二条 SQL
$_mysqli->next_result();
//获取第二条 SQL 影响的行数
$_success2 = $_mysqli ->affected_rows == 1 ? true : false ;
//判断是否都正常通过了,两个 SQL
if( $_success && $_success2 ) {
$_mysqli->commit();
echo' 完美提交! ' ;
}else {
$_mysqli->rollback();
echo' 程序出现异常! ' ;
}
}
} else {
echo"SQL 语句有误: " . $_mysqli ->errno. $_mysqli ->error;
}
// 最后还必须开启自动提交
$_mysqli->autocommit( true );
以上がmysqliを使用してPHPでMySQLデータベースを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

toretrievedatafrompsession、Startthessession withsession_start()andAccessvariablesshe $ _SessionArray.forexample:1)Startthessession:session_start()

セッションを使用して効率的なショッピングカートシステムを構築する手順には、次のものがあります。1)セッションの定義と機能を理解します。セッションは、リクエスト全体でユーザーのステータスを維持するために使用されるサーバー側のストレージメカニズムです。 2)ショッピングカートに製品を追加するなど、基本的なセッション管理を実装します。 3)製品の量管理と削除をサポートし、高度な使用状況に拡大します。 4)セッションデータを持続し、安全なセッション識別子を使用することにより、パフォーマンスとセキュリティを最適化します。

この記事では、PHPでインターフェイスを作成、実装、および使用する方法について説明し、コード組織と保守性の利点に焦点を当てています。

この記事では、PHPのCrypt()とpassword_hash()の違いについて、パスワードハッシュの違いについて説明し、最新のWebアプリケーションの実装、セキュリティ、および適合性に焦点を当てています。

記事では、入力検証、出力エンコード、およびOWASP ESAPIやHTML浄化器などのツールを使用して、PHPのクロスサイトスクリプト(XSS)を防止します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









