前回の記事では『 PHPデータベース学習のPDOでエラーを処理するには? 」では、PHP での PDO エラー処理に関する関連知識が詳しく紹介されています。この記事では、PHP で PDO 属性を設定および取得する方法を見てみましょう。みんなが助けてくれることを願っています!
前の記事では、PHP での PDO エラー処理に関連する問題について学びました。次に、PDO 属性を設定および取得する方法を学びましょう。 PDO オブジェクトには、PDO の動作を調整したり、基礎となるドライバーの状態を取得したりするために使用できるプロパティが多数あります。
PDO オブジェクトの作成時にコンストラクターの最後のパラメーターに属性オプションが設定されていない場合は、オブジェクトの作成後に PDO オブジェクトで setAttribute()
および # を使用できます。 ##getAttribute() これらの属性の値を設定および取得するメソッド。次に、これら 2 つの方法を一緒に見てみましょう。
<strong>getAttribute()<span style="font-size: 20px;"></span></strong>
メソッド
getAttribute () メソッドはパラメーターを 1 つだけ提供する必要があり、このパラメーターを表す特定の属性名を渡すことができます。実行が成功すると、属性で指定された値が返され、それ以外の場合は NULL が返されます。理解するのは簡単ですが、その構文形式は次のとおりです:
PDO::getAttribute(int $attribute)注意する必要があるのは: パラメータ
$attribute は
PDO:: ATTR_* 定数の 1 つです。データベース接続に適用される定数は多数あります。
<?php header("Content-Type: text/html;charset=utf-8"); $opt = [PDO::ATTR_PERSISTENT=>TRUE]; try{ $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt); }catch(PDOException $e){ echo '数据库连接失败:'.$e->getMessage(); exit(); } echo 'PDO 是否关闭自动提交功能:'.$pdo -> getAttribute(PDO::ATTR_AUTOCOMMIT); echo '<br>当前 PDO 的错误处理模式:'.$pdo -> getAttribute(PDO::ATTR_ERRMODE); echo '<br>表字段字符的大小写转换:'.$pdo -> getAttribute(PDO::ATTR_CASE); echo '<br>空字符串转换为 SQL 的 null:'.$pdo -> getAttribute(PDO::ATTR_ORACLE_NULLS); echo '<br>应用程序提前获取数据大小:'.$pdo -> getAttribute(PDO::ATTR_PERSISTENT); ?>出力結果:
PDO::ATTR_AUTOCOMMIT は次のことを示しますPDO が自動送信機能をオフにするかどうか。
PDO::ATTR_ERRMODE は現在の PDO エラー処理モードを表します。
PDO::ATTR_CASE はテーブル フィールド文字の大文字と小文字の変換を表します。
PDO ::ATTR_ORACLE_NULLS は空文字列を SQL null に変換することを意味し、
PDO::ATTR_PERSISTENT はアプリケーションが事前にデータ サイズを取得することを意味します。
PDO::ATTR_CONNECTION_STATUS
固有の情報を表します。接続ステータスに関係します。
PDO::ATTR_SERVER_INFO
データベース固有のサーバー情報を表します。
PDO::ATTR_SERVER_VERSION
データベース サーバーのバージョン番号を表します。
PDO::ATTR_CLIENT_VERSION
データベース クライアントのバージョン番号を表します。
<strong>setAttribute()<span style="font-size: 20px;"></span></strong>
メソッド
setAttribute () このメソッドは、データベース ハンドルの属性を設定するために使用できます。setAttribute() は getAttribute() よりも少し複雑です。その構文形式は次のとおりです:
PDO::setAttribute(int $attribute, mixed $value)
$attribute は PDO オブジェクトの特定の属性名を提供し、2 番目のパラメータ
$value is この指定されたプロパティに値を割り当てます。
PDO::ATTR_CASE は、列名を指定された大文字と小文字に強制できることを意味し、PDO::CASE_LOWER は列名が強制的に小文字になることを意味します。PDO:: CASE_NATURAL は、データベース ドライバーによって返された列名が保持されることを意味します。;PDO::CASE_UPPER は、列名を強制的に大文字にすることを意味します。
PDO::ATTR_ERRMODE はエラー レポートを表し、PDO::ERRMODE_SILENT はエラー コードの設定のみを表し、PDO::ERRMODE_WARNING は E_WARNING エラーの原因を表し、PDO::ERRMODE_EXCEPTION は例外のスローを表します。例外。
PDO::ATTR_ORACLE_NULLS は、Oracle に限定されないすべてのドライバーで利用可能であることを意味し、NULL と空の文字列を変換します。PDO::NULL_NATURAL は変換なしを意味し、PDO::NULL_EMPTY_STRING は、空の文字列を NULL に変換; PDO::NULL_TO_STRING は、NULL を空の文字列に変換することを意味します。
<?php header("Content-Type: text/html;charset=utf-8"); $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); echo 'PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); echo '<br>PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); echo '<br>PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); ?>出力結果:
PDO::ATTR_STRINGIFY_FETCHES
は、抽出時に値を文字列に変換することを意味します;PDO::ATTR_STATEMENT_CLASS
PDOStatement から派生したユーザー提供のステートメント クラスの設定を表します。永続的な PDO インスタンスでは使用できません。PDO::ATTR_AUTOCOMMIT
個々のステートメントを自動的に送信するかどうかを示します。これは、OCI、Firebird、および MySQL で使用できます。PDO::ATTR_DEFAULT_FETCH_MODE
デフォルトの抽出モードの設定を示します。PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
は、MySQL データベースで使用できるバッファされたクエリの使用を示します。
次の点にも注意する必要があります。 PDO::ATTR_TIMEOUT
指定されたタイムアウトの秒数を示します。異なるドライバー間には違いがある場合があります。たとえば、SQLite はこの値を待機した後、書き込み可能なロックの取得を放棄しますが、他のドライバーはこの値を接続または読み取りタイムアウト間隔として解釈する可能性があります。
PDO ::ATTR_EMULATE_PREPARES
準備されたステートメントのシミュレーションを有効または無効にすることを示します。ドライバーによっては、ローカル前処理のサポートがないか、サポートが制限されている場合があります。PDO が常にプリペアド ステートメントをエミュレートするように強制するか、ローカルのプリペアド ステートメントの使用を試みるには、この設定を使用します。ドライバーが現在のクエリを正常に準備できない場合、ドライバーは常に準備されたステートメントのシミュレーションに戻ります。
ご興味がございましたら、「PHP ビデオ チュートリアル 」をクリックして、PHP の知識をさらにご覧ください。
以上がPHPデータベース学習でPDO属性を設定および取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
