人們可以查詢數據庫與pg_query_params
方法,例如:`pg_query_params`和參數太多
pg_query_params($connection, 'SELECT foo FROM bar WHERE id=$1 AND name=$2',array("Foobar","Qux"));
然而,當查詢不使用的所有參數,例如與SELECT foo FROM bar WHERE id=$1
查詢,一個接收出現以下錯誤:
Query failed: ERROR: bind message supplies 2 parameters, but prepared statement "" requires 1
爲什麼pg_query_params
如此限制?人們可以「構建」查詢並簡單地動態添加測試。可以「關閉」這種行爲嗎?有什麼替代方法可以提供一個查詢,而不是使用比提供的參數少的參數?
有些語言和工具可讓您從哈希映射/字典中綁定命名參數。我不知道PHP是否可以,但這是通常的解決方案。否則,只需根據您發送的實際查詢將參數追加到數組中。 – 2014-10-09 10:00:26
@CraigRinger:當然,追加參數是一個解決方案,但它使得處理方式比它應該更復雜...... – 2014-10-09 10:04:09