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

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

WBOY
リリース: 2016-07-13 10:10:47
オリジナル
1036 人が閲覧しました

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 型を返します...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート