ホームページ バックエンド開発 PHPチュートリアル phpの使い方を詳しく解説 PDO_PHPチュートリアル

phpの使い方を詳しく解説 PDO_PHPチュートリアル

Jul 13, 2016 pm 05:06 PM
pdo php 導入 説明書 について 同級生 記事 詳しい 詳しい説明 入力

この記事では、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 行を入れています

拡張子=pdo.so
拡張子=pdo_mysql.so

その後、プログラム内で PDO?⒍? Tombδ?/p> を宣言する必要があります。

コード: [選択]

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

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の接続を表します

それでは、PDO を使用しますか?

最初の式は遅延メソッドクエリです

特に考える必要はありません。通常どおりクエリ関数を使用してください

コード: [選択]

コードは次のとおりですコードをコピー
$sql = 'テストから * を選択';

foreach ( $dbh->query($sql) as $value)
{
echo $value[col];
};

2つ目の方法は自動持ち込み方法をご用意しております

PDO を使用した後は、準備関数を使用してアクションを実行することを好みます

準備の利点は、最初に SQL コードを記述し、後で必要なデータを自動的に取り込めることです

これの最大の利点は、クエリを直接使用する場合と比較して、多くのセキュリティ問題を軽減できることだと思います

まず、prepare を使用して SQL コードを設定し、次に、bindparm を使用して設定アクションを実行します

コード: [選択]

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


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

まず、:str の仕様を見ていきます。データはテキストであると確信しているので、PD::PARAM_STR を使用してプログラムに「これは文字列である」と範囲、つまり長さを与えます。は12ビットです。
:SN のようにその複雑さも回避できますが、bindParam を使用して指定することもできますが、PHP では変数のデフォルトの型が使用されます。

最後に、$sth->execute(); を使用して実行アクションを実行します。

基本的には難しいことはなく、非常に簡単とも言えます!

繰り返し適用する必要がある大量のデータがある場合は、bindParam を再利用して指定することもできます。たとえば、データが 10 個ある場合は、データベースに直接追加することもできます。このように

コード: [選択]

$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();

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

$sth = $dbh->prepare('データベースに挿入 ("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 を 1 つのファイルに記述すると、後続の SQL 部分の処理は変数とともに取り込まれます。
とにかく、データは既製の方法で適用できます。

その後、prepareを使ってselectすれば、もちろん上記のように:wordを使ってキーワードを指定することもできます


コード: [選択]

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

$sth = $dbh->prepare('select * from db where SN = :SN');
$sth->bindParam(':SN',$value[SN]);
$sth->execute();
while($meta = $sth->fetch(PDO::FETCH_ASSOC))
{
echo $meta["name"];
}


これは? 新しいものは fetch で、mysql_fetch_row() と同じ意味です
しかし、fetch() には PDO::FETCH_ASSOC という追加のものがあることがわかりました
fetch() はデータを取得するためのさまざまな方法を提供し、PDO::FETCH_ASSOC は次のデータのフィールド名と値を返すことを指します
たとえば、上記の例では、この時点で $meta を使用して fetch で返されたデータを取得します。 $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->errorInfo() は配列になり、この配列には 3 つの値があります
0はSQLSTATEエラーコードです
1 使用しているドライバーから返されたエラーコード
2 使用しているドライバーから返されるエラーメッセージ

コードをコピー
$sth->bindParam(':SN',$value[SN]);

$sth->execute();
if ($sth->errorCode())
{
echo "エラーがあります! エラーがあります!";
print_r($sth->errorInfo());
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/630674.html技術記事この記事では、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 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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 には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles