[解決済み] パラメータ化された SELECT クエリで PDO オブジェクトを正しく使用する方法
2023-06-23 23:54:01
質問
PHP.net の説明に従って
SELECT
クエリを実行するための PHP.net の指示に従ってみましたが、 これを実行するための最良の方法がわかりません。
私はパラメータ化された
SELECT
クエリを使用し、可能であれば
ID
が存在するテーブルで
name
フィールドがパラメータにマッチするテーブルを探します。これは、1つの
ID
は一意であるため、1つの
次に、私はその
ID
を
INSERT
を別のテーブルにコピーして、それが成功したかどうかを判断する必要があります。
また、再利用のためにクエリを準備することができると読みましたが、これがどのように役立つのかよく分かりませんでした。
どのように解決するのですか?
このようにデータを選択します。
$db = new PDO("...");
$statement = $db->prepare("select id from some_table where name = :name");
$statement->execute(array(':name' => "Jimbo"));
$row = $statement->fetch(); // Use fetchAll() if you want all results, or just iterate over the statement, since it implements Iterator
同じように挿入します。
$statement = $db->prepare("insert into some_other_table (some_id) values (:some_id)");
$statement->execute(array(':some_id' => $row['id']));
エラー時に例外をスローするように PDO を設定することをお勧めします。そうすると
PDOException
を得ることになります。例外を発生させるようにするには、このメソッドを
$db
オブジェクトを作成した直後にこれを呼び出します。
$db = new PDO("...");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
関連
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】Chrome net::ERR_INCOMPLETE_CHUNKED_ENCODING エラーが発生しました。
-
thinkphp5 timestamp 非整形の数値に遭遇した。
-
MacでPHPを実行した際に、メモリサイズが134217728バイトも消費される問題の解決方法について
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] PHPでパスワードをハッシュ化するためにbcryptを使用するにはどうすればよいですか?
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] MySQL - SELECTクエリに基づくUPDATEクエリ
-
[解決済み] PHP/MySQL で行を挿入したら 'id' を取得する
-
[解決済み] レコードが存在するかどうかを判断する最速の方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】空の配列要素を削除する
-
[解決済み] SAJAXは死んだか?何を置き換えるべきか?
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み] php5パッケージのインストール候補がない (Ubuntu 16.04)
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?