この記事では、php PDO の使用方法を詳しく説明します。詳細を知りたい学生は、この記事を保存してください。
PDO::exec
返される型は int で、結果に影響を与える項目の数を示します。
PDOStatement::execute
返されるものはブール型で、true は実行が成功したことを意味し、false は実行が失敗したことを意味します。
これら 2 つは通常、次の場所に表示されます:
コードは次のとおりです | コードをコピー |
$rs0 = $pdo->exec($sql); |
通常、$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'); |
この記事での固定設定の使用は私の個人的な習慣です。面倒ではありませんか?
上記のように操作すると、$dbh自体がPDOの接続を表しますそれでは、PDO を使用しますか?
最初の式は遅延メソッドクエリです
特に考える必要はありません。通常どおりクエリ関数を使用してください
コード: [選択]
コードをコピー | |
$sql = 'テストから * を選択';
foreach ( $dbh->query($sql) as $value) |
2つ目の方法は自動持ち込み方法をご用意しております
準備の利点は、最初に SQL コードを記述し、後で必要なデータを自動的に取り込めることです
これの最大の利点は、クエリを直接使用する場合と比較して、多くのセキュリティ問題を軽減できることだと思います
コード: [選択]
コードをコピー | |
$sth = $dbh->prepare('update db set zh_CN= :str where SN=:SN');
$sth->bindParam(':str',$str,PDO::PARAM_STR,12); |
コードは次のとおりです | コードをコピー |
$sth = $dbh->prepare('データベースに挿入 ("zh_CN","zh_TW")values(:str , :SN'); |
私の友人のような強い人でも... 考えられるすべての SQL を 1 つのファイルに記述すると、後続の SQL 部分の処理は変数とともに取り込まれます。
とにかく、データは既製の方法で適用できます。
その後、prepareを使ってselectすれば、もちろん上記のように:wordを使ってキーワードを指定することもできます
コード: [選択]
コードは次のとおりです | コードをコピー |
$sth = $dbh->prepare('select * from db where SN = :SN'); |
これは? 新しいものは fetch で、mysql_fetch_row() と同じ意味です
しかし、fetch() には PDO::FETCH_ASSOC という追加のものがあることがわかりました
fetch() はデータを取得するためのさまざまな方法を提供し、PDO::FETCH_ASSOC は次のデータのフィールド名と値を返すことを指します
たとえば、上記の例では、この時点で $meta を使用して fetch で返されたデータを取得します。
$metaの要素名はデータベースのフィールド名で、中身はもちろん値そのものです
PDOにはフィールドの他に、シリアル番号に基づいて要素名が付けられます。
もちろん、PDO::FETCH_ASSOC を PDO::FETCH_BOTH に変更すれば、使い方は mysql_fetch_row() と同じです。
デバッグはすべてのプログラマーにとって永遠の苦痛です。PDO を使用してデバッグするにはどうすればよいでしょうか。
実はPDOにはすでに2つの非常に便利な機能が備わっています
errorInfo() と errorCode()
使用方法も非常に簡単です。エラーが発生した場合は、execute() を使用します。
次に、errorInfo() と errorCode() にコンテンツがあります
これが私たちにできる方法です....
コード: [選択]
コードをコピー | |
$sth->bindParam(':SN',$value[SN]);
$sth->execute(); |