Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / contrib isn, php, PDO | Не получается составить запрос / 4 сообщений из 4, страница 1 из 1
21.10.2008, 12:45
    #35606331
ss25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
contrib isn, php, PDO | Не получается составить запрос
текст запроса
Код: plaintext
SELECT * FROM t1 b, t2 ib  WHERE ib.isbn_id IN (SELECT id FROM t3 WHERE isbn = :string  AND b.id = ib.book_id ORDER BY b.name';

тип столбца в WHERE isbn13

в скрипте

Код: plaintext
1.
2.
$search = $this->collection['db']->prepare($sql);
$search->bindValue(':string', '966-06-0023-2', PDO::PARAM_STR);
$search->execute();

в итоге имею ошибку
Код: plaintext
ERROR: cannot cast ISBN to EAN13 for number: "966-06-0023-2"


и прикол в том что виндовый апач2 с пхп(модуль) нормально отрабатует (БД находится в обоих случаях на FreeBSD), а на FreeBSD апаче1.3(CGI) имею ошибку
...
Рейтинг: 0 / 0
21.10.2008, 12:47
    #35606336
ss25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
contrib isn, php, PDO | Не получается составить запрос
очепятка после :string скобка закрывается )
...
Рейтинг: 0 / 0
21.10.2008, 12:54
    #35606356
ss25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
contrib isn, php, PDO | Не получается составить запрос
после изучения логов ПГ при конекте с винды в логе WHERE isbn = '966-06-0023-2' а при конекте с фри WHERE isbn = $1
нифига не понимаю код один и тот по разному себя ведет ((


полный запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
SELECT id, name, year, page, letter, city,
                                                (SELECT
                                                        array_to_string(public.array_accum(id || '#::#' || name || '#::#' || letter || '#::#' || main), '#||#')
                                                        FROM (SELECT a.id, a.name, ba.main
                                                                        FROM
                                                                                library.authors a,
                                                                                library.relation_books_authors ba
                                                                        WHERE
                                                                                a.id = ba.author_id
                                                                        AND
                                                                                ba.book_id = b.id
                                                                                ORDER BY ba.position
                                                                ) AS subauth) AS authors,
                                                                (SELECT
                                                                        array_to_string(public.array_accum(id || '#::#' || name || '#::#' || letter || '#::#' || main), '#||#')
                                                                        FROM (SELECT p.id, p.name, bp.main
                                                                                FROM
                                                                                        library.publishings p,
                                                                                        library.relation_books_publishings bp
                                                                                WHERE
                                                                                        p.id = bp.publishing_id
                                                                                AND
                                                                                        bp.book_id = b.id
                                                                                        ORDER BY bp.position
                                                                ) AS subpubl) AS publishings,
                                                                (SELECT
                                                                        array_to_string(public.array_accum(isbn || '#::#' || main || '#::#' || note || '#::#' || position || '#::#' || publishing), '#||#')
                                                                FROM (SELECT
                                                                                CASE
                                                                                        WHEN b.year <  2007 
                                                                                        THEN  ts_headline(i.isbn::isbn::varchar, plainto_tsquery(isbn($ 1 )::varchar), 'StartSel="<b style=""color:#FF0000"">", StopSel="</b>"')
                                                                                        ELSE ts_headline(i.isbn::varchar, plainto_tsquery(isbn13($ 1 )::varchar), 'StartSel="<b style=""color:#FF0000"">", StopSel="</b>"')
                                                                                        END AS isbn,
                                                                                bi.main, bi.position, bi.note,
                                                                                (library.convert_isbn_id_to_publishing_name(i.id)) AS publishing
                                                                                        FROM
                                                                                                library.isbn i,
                                                                                                library.relation_books_isbn bi
                                                                                        WHERE
                                                                                                i.id = bi.isbn_id
                                                                                        AND
                                                                                                bi.book_id = b.id
                                                                                        ORDER BY bi.position
                                                                        ) AS subisbn) AS isbn,
                                                                        (SELECT
                                                                                id || '#::#' || code || '#::#' || name
                                                                        FROM
                                                                                 library.udc u,
                                                                                 library.relation_books_udc bu
                                                                                WHERE u.id = bu.udc_id AND bu.book_id = b.id) AS udc
                                                         FROM library.books b, library.relation_books_isbn ib
                                                                WHERE ib.isbn_id IN (SELECT id FROM library.isbn WHERE isbn = $ 1 )
                                                                        AND b.id = ib.book_id ORDER BY b.name

...
Рейтинг: 0 / 0
21.10.2008, 16:10
    #35607039
ss25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
contrib isn, php, PDO | Не получается составить запрос
нашел )) баги пыхыпы в 5.2.6 так и не поправили ((
http://%5Dhttp://bugs.php.net/bug.php?id=36652%5B/url]
http://bugs.php.net/bug.php?id=43925
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / contrib isn, php, PDO | Не получается составить запрос / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]