К сожалению, MySQLi на самом деле не поддерживает именованные параметры, но сообщение об исключении не совсем понятно по этому поводу, несмотря на то, что он добавлен в этот блок кода:
if ($this->_adapter->supportsParameters('named') === false) {
/**
* @see Zend_Db_Statement_Exception
*/
require_once 'Zend/Db/Statement/Exception.php';
throw new Zend_Db_Statement_Exception("Invalid bind-variable name '$val'");
}
Исключение должно действительно сказать:
Вы пытаетесь использовать именованные параметры
с адаптером, который не поддерживает
их
Решение простое, просто переключите свой адаптер с Mysqli на Pdo_Mysql.
Ссылки .