|
|
|
| Есть скрипт, который в цикле формирует запрос к базе. Запрос вида
UPDATE `pr` SET `pos_product`='1' WHERE `id_product`='162' AND `id_catalog`='124';
UPDATE `pr` SET `pos_product`='2' WHERE `id_product`='188' AND `id_catalog`='124';
|
так вот таких строк порядка 100 и более. При выполнении скрипта при запросе выдает ошибку
You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for
the right syntax to use near '; UPDATE `pr` SET
`pos_product`='2' WHERE `id_product`='188' AND `id_ca' at
line 1
|
Самое смешное, что если я этот же запрос через phpmyadmin делаю - не выдает ошибки - все нормально.
Может я ошибку не вижу? Или есть разгница какя-то. Первый раз с таким бредом сталкиваюсь | |
|
|
|
|
|
|
|
для: neokortex
(21.04.2010 в 16:02)
| | Если используется mysql_query() - то все запросы нужно выполнять отдельно - один вызов фукнции - один запрос. phpMyAdmin именно так и делает - разбивает весь массив на отдельные запросы и в цикле многократно вызывает mysql_query(). | |
|
|
|
|
|
|
|
для: cheops
(21.04.2010 в 17:52)
| | СПАСИБО. этот момент я упустил | |
|
|
|
|
|
|
|
для: neokortex
(21.04.2010 в 16:02)
| | Добавлю лишь, что при обращении по первичному (или хотя бы уникальному) ключу подобного рода модификацию (несколько строк одним запросом) весьма удобно выполнять с помощью запроса INSERT ... ON DUPLICATE KEY UPDATE ... | |
|
|
|