


PDO の使用方法、php での mysql 接続方法の詳細な説明、pdo Huan Chuan Rong XuananВ_PHP チュートリアル
phpでのmysql接続方法であるPDOの使用方法の詳細な説明、pdo Huan Chuan Rong XuannyВ
PDO の一般的に使用されるメソッド:
PDO::query() は主に、記録された結果 (PDOStatement) を返す操作、特に選択操作に使用されます。
PDO::exec() は主に結果セットを返さない操作用です。挿入、更新、その他の操作など。影響を受ける行の数を返します。
PDO::lastInsertId() は最後の挿入操作の最後の ID を返しますが、次の点に注意してください: insert into tb(col1,col2) value(v1,v2),(v11,v22).. を使用して複数のレコードを挿入する場合1 回だけ、 lastinsertid() は、最後に挿入されたレコードのレコード ID ではなく、最初の (v1、v2) 挿入の ID のみを返します。
PDOStatement::fetch() を使用してレコードを取得します。 while を使用してトラバースします。
PDOStatement::fetchAll() は、すべてのレコードを 1 つにフェッチします。
PDOStatement::fetchcolumn([int column_indexnum]) は、列に直接アクセスするために使用されます。パラメーター column_indexnum は、0 から始まる行内の列のインデックス値です。ただし、このメソッドは一度に同じ行の 1 つの列しか取得できません。一度実行すると次の行に進みます。したがって、特定の列に直接アクセスする場合には使いやすいですが、複数の列を横断する場合には役に立ちません。
PDOStatement::rowcount() は、query("select...") メソッドの使用時にレコード数を取得するのに適しています。前処理にも使用できます。 $stmt->rowcount();
PDOStatement::columncount() は、query("select...") メソッドの使用時にレコード内の列数を取得するのに適しています。
注:
1. fetch または fetchall を選択しますか?
レコード セットが小さい場合は、fetchall を使用すると効率的であり、データベースからの取得回数が減ります。ただし、結果セットが大きい場合、fetchall を使用するとシステムに大きな負担がかかります。データベースが WEB フロントエンドに送信する必要があるデータの量が多すぎるため、非効率的です。
2. fetch() または fetchall() にはいくつかのパラメータがあります:
混合 pdostatement::fetch([int fetch_style [,int Cursor_orientation [,int Cursor_offset]]])
配列 pdostatement::fetchAll(int fetch_style)
fetch_style パラメータ:
■$row=$rs->fetchAll(PDO::FETCH_BOTH); FETCH_BOTH はデフォルトであり、省略可能であり、関連付けとインデックスを返します。
■$row=$rs->fetchAll(PDO::FETCH_ASSOC); FETCH_ASSOC パラメータは、連想配列のみが返されることを決定します。
■$row=$rs->fetchAll(PDO::FETCH_NUM); はインデックス配列を返します
■$row=$rs->fetchAll(PDO::FETCH_OBJ); fetch() がオブジェクトを返す場合、fetchall() がオブジェクトで構成される 2 次元配列を返す場合
$dbh = 新しい PDO('mysql:host=localhost;dbname=access_control', 'root', ''); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->exec('set names utf8'); /*追加*/
//$sql = "INSERT INTO `user` SET `login`=:login AND `password`=:password"; $sql = "INSERT INTO `user` (`login` ,`password`)VALUES (:login, :password)"; $stmt = $dbh->prepare($sql); (':ログイン'=>'ケビン2',':パスワード'=>'')); エコー $dbh->lastinsertid(); /*変更*/
$sql = "UPDATE `user` SET `password`=:password WHERE `user_id`=:userId"; $stmt = $dbh->準備($sql); $stmt->execute(array(':userId'=>'7', ':password'=>'4607e782c4d86fd5364d7e4508bb10d9')); エコー $stmt->rowCount(); /*削除*/
$sql = "`user` WHERE `login` LIKE 'kevin_' から削除します" //kevin%
$stmt = $dbh->準備($sql); $stmt->execute(); エコー $stmt->rowCount(); /*クエリ*/
$login = 'ケビン%' ; $sql = "SELECT * FROM `user` WHERE `login` LIKE :login"; $stmt = $dbh->準備($sql); $stmt->execute(array(':login'=>$login)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
print_r($行); }
print_r( $stmt->fetchAll(PDO::FETCH_ASSOC)); ?>
1 接続を確立します
コードをコピーします
コードは次のとおりです:
$dbh=newPDO('mysql:host=localhost;port=3306; dbname=test',$user,$pass,array(
PDO::ATTR_PERSISTENT=>true
));
?>
2. エラーの検出
試してみてください{
$dbh=newPDO('mysql:host=localhost;dbname=test',$user,$pass);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$dbh->exec("文字セット utf8");
$dbh=null //切断
}catch(PDOException$e){
print"エラー!:".$e->getMessage()."
";
死ぬ();
}
?>
3. ビジネス
試してみてください{
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();//トランザクションを開始します
$dbh->exec("insertintostaff(id,first,last)values(23,'Joe','Bloggs')");
$dbh->exec("insertintosalarychange(id,amount,changedate)
値(23,50000,NOW())");
$dbh->commit();//トランザクションを送信します
}catch(Exception$e){
$dbh->rollBack() //ロールバックエラー
echo"失敗しました:".$e->getMessage();
}
?>
4. エラー処理
a.サイレントモード(デフォルトモード)
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT); //エラーを表示しません
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);//警告エラーを表示し、実行を続行します
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//致命的なエラーが発生しました、PDOException
試してください{
$dbh = 新しい PDO($dsn, $user, $password); $sql = ' CountryCode =:country の都市から * を選択'; $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $stmt = $dbh->準備($sql); $stmt->bindParam(':country', $country, PDO::PARAM_STR); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$row['名前'] を印刷します
}
} // 問題がある場合は、ここで対処できます
catch (PDOException $e) {
echo 'PDO 例外をキャッチしました '; echo 'データベースのエラー:
'; echo 'SQL クエリ: ', $sql; echo 'エラー: ' $e->getMessage(); }
?>
1. query()を使用します
コードをコピーします
コードは次のとおりです:
$dbh->query($sql); $sql 内の変数が使用できる場合 $dbh->quote($params); //文字列データをエスケープします。 $sql = '国コード ='.$dbh->quote($country) の都市から * を選択します
foreach ($dbh->query($sql) as $row) {
2. prepare、bindParam を使用して実行します (追加、変更、削除も可能です)
コードをコピーします
コードは次のとおりです:
PDOStatement->bindParam()
コードをコピーします
コードは次のとおりです:
{
を試してください $dbh = 新しい PDO('mysql:host=localhost;dbname=test', 'root', ''); $dbh->query('set names utf8;'); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->beginTransaction(); $dbh->exec("Into `test`.`table` (`name` ,`age`)VALUES ('mick', 22);"); $dbh->exec("Into `test`.`table` (`name` ,`age`)VALUES ('lily', 29);"); $dbh->exec("INSERT INTO `test`.`table` (`name` ,`age`)VALUES ('susan', 21);"); $dbh->コミット
; } catch (例外 $e) {
$dbh->rollBack(); echo "失敗しました: " . $e->getMessage(); }
?>
上記はすべて PHP での pdo の使用法に関するものです。この記事が皆様のお役に立てれば幸いです。
http://www.bkjia.com/PHPjc/960715.html
true
http://www.bkjia.com/PHPjc/960715.html
ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。
