我正在使用Perl腳本,我想使用命名參數在Postgres數據庫中執行查詢。該DBI documentation說,這不便於攜帶:使用名稱在Perl中綁定postgres查詢的參數
有些司機還允許佔位符,如:姓名和:N(如:1,2,依此類推)?除了,但它們的使用是不可移植的
無論如何我都想這樣做。有誰知道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();
乾杯!
編輯
正確的語法如下(我是缺少冒號):
$q = $pg->prepare($query);
$q->bind_param(":parameterX", "value");
$q->bind_param(":parameterY", "value");
$q->execute();
確實有效。我在參數名稱前缺少冒號。 – Andre 2012-03-23 20:26:35
@Andre:編號'$ N'風格的佔位符,建議對PostgreSQL由於使用的':'PostgreSQL的陣列工作時:http://stackoverflow.com/a/8627741/479863 – 2012-03-23 21:50:48
我理解的建議,但當涉及到的東西,如30個參數的工作,我寧願用自己的名字給他們打電話,知道我在看的時候了。儘管如此,感謝您的鏈接。 – Andre 2012-03-23 22:22:24