Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z funkcją, CONCAT
SDK
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 6.04.2008

Ostrzeżenie: (0%)
-----


Mam następujące zapytanie:

  1. SELECT prod_id, prod_catid, prod_price, prod_date, prod_name, prod_description, prod_active, prod_store,
  2. (SELECT COUNT(*) FROM $db_images WHERE img_for = CONCAT('$for', p.prod_id))
  3. FROM $db_shop_products AS p
  4. WHERE prod_catid = '$id'
  5. ORDER BY $qsort $order"

Oraz następującą funkcję :

  1. -- DROP FUNCTION concat(text, text);
  2.  
  3. CREATE OR REPLACE FUNCTION concat(text, text)
  4. RETURNS text AS $BODY$
  5. SELECT $1 || $2;
  6. $BODY$
  7. LANGUAGE 'sql' VOLATILE
  8. COST 100;
  9. ALTER FUNCTION concat(text, text) OWNER TO postgres;

Otrzymuję następujący komunikat:
Cytat
Warning: pg_query() [function.pg-query]: Query failed: ERROR: function concat(unknown, integer) does not exist LINE 2: ... (SELECT COUNT(*) FROM images WHERE img_for = CONCAT('pr... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. in C:\wamp\www\projekt\system\core\admin\shop\products.php on line 49

Pytanie brzmi - jak zmodyfikować funkcję, aby działała poprawnie ?

Ten post edytował SDK 21.06.2008, 12:06:04
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Po pierwsze, po co używać funkcji, to jest bez sensu.
Po drugie, przecież pisze co jest nie tak,
Cytat
function concat(unknown, integer) does not exist
Ty masz concat(text, text). Jak już chcesz używać tej funkcji, to rzutuj to co przekazujesz na typ TEXT, (w ten sposób "concat(cos::TEXT, 'inne'::TEXT) ") i powinno wywoływać funkcję która już istnieje.

Pamiętaj że funkcje w PG, to nie w PHP, gdzie nie ma przeciążenia. (PHP nie rozróżnia funkcji pod względem przyjmowanych parametrów)
Go to the top of the page
+Quote Post
SDK
post
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 6.04.2008

Ostrzeżenie: (0%)
-----


Dziękuję serdecznie za ponowną pomoc. Brakowało jeszcze ' ' do tej funkcji i zaczęło śmigać. Pozdrawiam.

Ten post edytował SDK 21.06.2008, 23:23:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:56