SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 21.09.2014 11:43:34

Рома
Участник
Зарегистрирован: 21.09.2014
Сообщений: 1

Не пойму в чем проблема выходит ошибка

Не пойму в чем проблема выходит ошибка  Warning: Placeholder substitution error. Diagnostics: "AND p.id in (SELECT product_id FROM s_options WHERE feature_id=? AND value=NOT_A_SCALAR_PLACEHOLDER_1 ) "


вот код

if ($type === '')
        {
            // Скалярный placeholder.
            if (is_array($a))
                {
                $error = $errmsg = "NOT_A_SCALAR_PLACEHOLDER_$key"; // Здесь вывод ошибки при проверке на массив
                    break;
                }
                $repl = is_int($a) || is_float($a) ? str_replace(',', '.', $a) : "'".addslashes($a)."'";
                break;
            }

А это сам запрос

if(isset($filter['features']))
            foreach($filter['features'] as $feature=>$value)
            {
                $features_filter .= $this->db->placehold('AND (po.feature_id=? OR po.product_id in (SELECT product_id FROM __options WHERE feature_id=? AND value in (?@) )) ', $feature, $feature, $value);
            }

Неактивен

 

#2 22.09.2014 19:46:49

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Не пойму в чем проблема выходит ошибка

Вы, вероятно привели не тот запрос. В сообщении об ошибке AND value=, а в запросе AND value in

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson