Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Подскажите приём, если таковой есть
$result=$this->db->query('SELECT field FROM table WHERE value = ?',$value);
$value - ОБЯЗАНО быть скалярным типом, а не массивом.
Ясное дело, что значений типа $value (и плейсхолдеров) в запросе может быть сколько угодно. А методу query - необходимо передавать не массив а именно список аргументов.
$result=$this->db->query('SELECT field FROM table WHERE value = ?, AND val_2 = ? LIMIT ?, ? ORDER BY field ?',$a,$b,$c,$d,$e);
Но у нас нет переменных $a, $b, $c, $d, $e на входе, у нас есть массив $array который содержит ключи-имена и значения.
Так вот, как превратить ассоциированный массив произвольного размера, в группу переменных с её последующей передачей в функцию? Есть ли какое-либо универсальное решение?
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Да. Только в Вашем случае нужно в $callback-параметр функции передавать массив из 2-х элементов. Первый - экземпляр класса, метод которого вызывается, второй - имя метода.
Или же, если метод статический, первым параметром должно быть указано имя класса (как строка).
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Champion
Отправлено: 22 Апреля, 2011 - 21:11:43
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
http://www.php.su/functions/custom/?2
Поиском на странице можно встретить "Переменное число аргументов в функциях". По-моему, это прям то, что надо. Как раз в первой ссылке EuGena пример
EuGen
Отправлено: 22 Апреля, 2011 - 21:19:34
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Нет, тут задача в том, что список переменных динамичен, его нельзя передать "просто написав".
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Champion
Отправлено: 22 Апреля, 2011 - 21:26:28
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.