On 05/08/17 16:58, Alexander Farber wrote:
Good evening,

with PostgreSQL 9.6.3 and JDBC 42.1.1.jre7 types can be casted when calling a stored function:

final String sql = "SELECT words_buy_vip(?::text, ?::int, ?::text, ?::text, ?::float, ?::inet)";

try (Connection db = DriverManager.getConnection(DATABASE_URL, DATABASE_USER, DATABASE_PASS);
                 PreparedStatement st = db.prepareStatement(sql)) {
              st.setString(2, sid);
              st.setInt(1, SOCIAL_FACEBOOK);
              // etc.
              st.executeQuery();
         }

But with PHP 5.4.16 on CentOS 7 Linux the types can not be casted (and strangely the statement is just not being executed without any error being reported) and the "::text", "::int" and "::inet" should be removed from the placeholders as in:

I think PDO uses a colon in named parameters, so maybe that's causing problems. You could try casting like this:

  select words_buy_vip(cast(? as text), cast(? as int), .....);

Ray.


--
Raymond O'Donnell :: Galway :: Ireland
r...@iol.ie


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to