Re: [GENERAL] Type cast in PHP PDO (does not work like in Java?)
От | Raymond O'Donnell |
---|---|
Тема | Re: [GENERAL] Type cast in PHP PDO (does not work like in Java?) |
Дата | |
Msg-id | 6379d292-a27a-f83b-c1b7-063a8f6b9fe7@iol.ie обсуждение исходный текст |
Ответ на | [GENERAL] Type cast in PHP PDO (does not work like in Java?) (Alexander Farber <alexander.farber@gmail.com>) |
Список | pgsql-general |
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 rod@iol.ie
В списке pgsql-general по дате отправления: