私はPerlスクリプトで作業しています。名前付きパラメータを使用してPostgresデータベースでクエリを実行したいと考えています。名前を使用してPerlでpostgresクエリをバインドするパラメータ
いくつかのドライバでも同様のプレースホルダ許可:名前をと:N(例えば、:1、:2、など)?DBI documentationはそれがないポータブルだと言うに加えて、その使用は、ポータブルではありません
とにかくやりたいと思います。 Postgresのドライバがそれを実装しているかどうかは誰にも分かりますか?代わりに、このようなクエリを実行する
は:
$q = $pg->prepare($query);
$q->bind_param(1, "value");
$q->bind_param(2, "value");
$q->execute();
私はこのような何かをしたいと思います:
$q = $pg->prepare($query);
$q->bind_param("parameterX", "value");
$q->bind_param("parameterY", "value");
$q->execute();
乾杯を!
EDIT
(私はコロンが行方不明になった)正しい構文は次のとおりです。
$q = $pg->prepare($query);
$q->bind_param(":parameterX", "value");
$q->bind_param(":parameterY", "value");
$q->execute();
実際に動作します。パラメータ名の前にコロンがありませんでした。 – Andre
@Andre:PostgreSQLには、PostgreSQL配列で作業する際に、 ':'を使用するため、番号付きの '$ n'形式のプレースホルダが推奨されています:http://stackoverflow.com/a/8627741/479863 –
私はこの推薦を理解していますが、 30パラメータのようなものを扱うことになると、私はむしろ名前で呼んで、すぐに何を見ているのか知っています。しかし、リンクをありがとう。 – Andre