⊗ppSpPDNP 62 of 83 menu

PHPのPDOにおけるプレースホルダーの自動引用符囲い

技術的には、PDOは挿入されるすべての値を 実際には数値であっても文字列とみなして 引用符で囲みます。 これはSQLの構文的に許容されています。 したがって、値が文字列である場合は、 プレースホルダーを引用符で囲む必要はありません。

例を見てみましょう。 変数に文字列が格納されているとします:

<?php $name = 'name1'; ?>

この場合、位置指定プレースホルダーを 引用符で囲む必要はありません:

<?php $sql = 'SELECT * FROM users WHERE name=?'; $res = $pdo->prepare(); $res->execute([$name]); ?>

名前付きプレースホルダーも同様に 引用符で囲む必要はありません:

<?php $sql = 'SELECT * FROM users WHERE name=:name'; $res = $pdo->prepare(); $res->execute(['name' => $name]); ?>

ただし、クエリ内の値が常に文字列として扱われることは、 構文的に数値が必須である場合に SQL構文の問題を引き起こす可能性があります。 そのような場合は、代替のパラメータバインディング方法を 利用することができ、それについては今後のレッスンで説明します。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否