目次
PDOメソッドを使ったphpの詳しい説明、phppdoの詳しい説明
ホームページ バックエンド開発 PHPチュートリアル phpでのPDOメソッドの使い方の詳細説明、phppdo_PHPチュートリアルの詳細説明

phpでのPDOメソッドの使い方の詳細説明、phppdo_PHPチュートリアルの詳細説明

Jul 13, 2016 am 10:10 AM
pdo php 方法

PDOメソッドを使ったphpの詳しい説明、phppdoの詳しい説明

この記事では、PHP で PDO を使用する方法を詳しく分析します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

PDO::exec: 結果に影響を与える項目の数を示す int 型を返します。

コードをコピーします コードは次のとおりです:
PDOStatement::execute

返されるものはブール型で、true は実行の成功を示し、false は実行の失敗を示します。これら 2 つは通常、次のコードに表示されます:

コードをコピーします コードは次のとおりです:
$rs0 = $pdo->exec($sql);
$pre = $pdo->prepare($sql);
$rs1 = $pre->execute();

通常、$rs0 の値を使用して SQL 実行が成功したかどうかを判断できます。値が false の場合は SQL 実行が失敗したことを意味し、0 は変更がないことを意味し、0 より大きい値はその回数を意味します。記録に影響が出ました

ただし、$rs1 は SQL の実行が成功したかどうかのみを返すことができ、影響を受けるレコードの数を取得する必要がある場合は、$pre->rowCount();

を使用する必要があります。

私は個人的に MySQL を使用するのが好きなので、extensions.ini に次の 2 行を入れています。

コードをコピーします コードは次のとおりです:
extension=pdo.so
拡張機能=pdo_mysql.so

その後、プログラム内のコードは次のようになります:

コードをコピーします コードは次のとおりです:
define('DB_NAME','test'); 定義('DB_USER','テスト'); 定義('DB_PASSWD','テスト'); 定義('DB_HOST','ローカルホスト'); 定義('DB_TYPE','mysql'); $dbh = 新しい PDO(DB_TYPE.':host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASSWD);

この記事で使用している定数の設定は、私ほど面倒なことは必要ありません。$dbh 自体が PDO の接続を表します。


最初の遅延メソッド
クエリは、何も考えず、通常どおりクエリ関数を使用します。コードは次のとおりです:

コードをコピーします
コードは次のとおりです:

$sql = 'select * from test'; foreach ( $dbh->query($sql) を $value として) { エコー $value[col]; };
2 番目の方法は、PDO を使用した後、準備関数を使用して、最初に SQL コードを記述し、後で必要なデータを自動的にインポートすることです。
これの最大の利点は、クエリを直接使用する場合と比較して、多くのセキュリティ問題を軽減できることだと思います。まず、prepare を使用して SQL コードを設定し、次に、bindparm を使用して設定アクションを実行します。
コードは次のとおりです。

コードをコピーします
コードは次のとおりです:$sth = $dbh->prepare('update db set zh_CN= :str where SN=:SN'); $sth->bindParam(':str',$str,PDO::PARAM_STR,12); $sth->bindParam(':SN',$SN); $sth->execute();


テキスト内の :str と :SN に注意してください。bindParam 関数を使用する場合、システムが適用する必要がある部分を :word で指定できます。たとえば、 :str と :SN を使用して指定します。実際の内容はbindParamに依存し、入力したい型を指定することもできます。

まず、:str の仕様を見ていきます。データはテキストであると確信しているので、PD::PARAM_STR を使用してプログラムに「これは文字列である」と範囲、つまり長さを与えます。は12ビットです。 :SN のように、それほど複雑ではないこともあります。これも bindingParam を使用して指定されますが、型と長さは省略されます。PHP は適用する変数のデフォルトの型を使用します。
最後に、$sth->execute(); を使用して実行アクションを実行します。これは基本的には難しくなく、非常に簡単であるとさえ言えます。
繰り返し適用する必要がある大量のデータがある場合は、bindParam を再利用して指定することができます。たとえば、データが 10 個ある場合、str と SN を直接追加することもできます。コードは次のようになります:


コードをコピーします
コードは次のとおりです:

$sth = $dbh->prepare('insert into db ("zh_CN","zh_TW")values(:str , :SN');

foreach ($array => $value )

{

$sth->bindParam(':str',$value[str],PDO::PARAM_STR,12); $sth->bindParam(':SN',$value[SN]); $sth->execute(); }

私の友人のような強い人でも、可能な限りすべての SQL をファイルの最後に記述します。その後、プロセス SQL 部分はすべて変数で持ち込まれます。とにかく、データは既成の方法で適用できます。
次に、prepare メソッドを使用して選択する場合、もちろん、上記のように word を使用してキーワードを指定することもできます。コードは次のとおりです。

コードをコピーします
コードは次のとおりです:
$sth = $dbh->prepare('select * from db where SN = :SN'); $sth->bindParam(':SN',$value[SN]); $sth->execute(); while($meta = $sth->fetch(PDO::FETCH_ASSOC))
{
エコー $meta["名前"]
}

新しく登場するのは fetch で、mysql_fetch_row() と同様の意味を持ちますが、fetch() には PDO::FETCH_ASSOC と呼ばれる追加の機能があります。
fetch() はデータを取得するためのさまざまな方法を提供し、PDO::FETCH_ASSOC は次のデータのフィールド名と値を返すことを指します
例えば、上記の例では、fetchで返されたデータを取得するために$metaを使用します。このとき、$metaの要素名はデータベースのフィールド名で、中身はもちろん値そのものです。 mysql_fetch_row() を使用する場合とは異なります。mysql_fetch_row() は、フィールド名に加えて、シリアル番号に基づいて要素名も付与します。PDO にはそれがありません。

もちろん、PDO::FETCH_ASSOC を PDO::FETCH_BOTH に変更する限り、使い方は mysql_fetch_row() と変わりません。

デバッグ方法

デバッグはすべてのプログラマーにとって永遠の苦痛です。PDO を使用する場合、どのようにデバッグすればよいでしょうか?

実際、PDO はすでに 2 つの非常に便利な関数 errorInfo() と errorCode() を提供しています

使用方法も非常に簡単です。execute() を使用して実行するときは、エラーが発生した場合は、errorInfo() と errorCode() の内容が次のようになります。

コードをコピーします

コードは次のとおりです:$sth = $dbh->prepare('select * from db where SN = :SN'); $sth->bindParam(':SN',$value[SN]); $sth->execute(); if ($sth->errorCode()) { echo "エラーがあります! エラーがあります!"; print_r($sth->errorInfo()); }
$sth->errorInfo() は配列になり、この配列には 3 つの値があります:

0はSQLSTATEエラーコードです

1 使用しているドライバーから返されるエラーコード

2 使用しているドライバーから返されるエラーメッセージ
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

http://www.bkjia.com/PHPjc/933594.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/933594.html

技術記事 php の PDO メソッドの使用方法の詳細な説明 phppdo の詳細な説明 この記事では、php の PDO メソッドの使用方法について詳しく説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです: PDO::exec: 影響結果を示す int 型を返します...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles