Задавайте вопросы, мы ответим
Вы не зашли.
Не пойму в чем проблема выходит ошибка 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);
}
Неактивен
Вы, вероятно привели не тот запрос. В сообщении об ошибке AND value=, а в запросе AND value in
Неактивен