phalcon/cphalcon · error · Phalcon\Mvc\Model\Query\Exceptions\BindParameterNotInPlaceholders

Bound parameter '{wildcard}' cannot be replaced because it i

Error message

Bound parameter '{wildcard}' cannot be replaced because it is not in the placeholders list

What it means

Error "Bound parameter '{wildcard}' cannot be replaced because it is not in the placeholders list" thrown in phalcon/cphalcon.

Source

Thrown at phalcon/Mvc/Model/Query.zep:1035

                case PHQL_T_DOUBLE:
                    let insertValue = dialect->getSqlExpression(exprValue);
                    break;

                case PHQL_T_NULL:
                    let insertValue = null;
                    break;

                case PHQL_T_NPLACEHOLDER:
                case PHQL_T_SPLACEHOLDER:
                case PHQL_T_BPLACEHOLDER:
                    let wildcard = str_replace(
                        ":",
                        "",
                        dialect->getSqlExpression(exprValue)
                    );

                    if unlikely !fetch insertValue, bindParams[wildcard] {
                        throw new BindParameterNotInPlaceholders(wildcard);
                    }

                    break;

                default:
                    let insertValue = new RawValue(
                        dialect->getSqlExpression(exprValue)
                    );

                    break;
            }

            let fieldName = fields[number];

            /**
             * If the user didn't define a column list we assume all the model's
             * attributes as columns
             */

View on GitHub (pinned to b7419de9cd)

When it happens

Trigger: Thrown at phalcon/Mvc/Model/Query.zep:1035 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of phalcon/cphalcon@b7419de9cd (2026-08-21). Data as JSON: /api/errors/478234d286d7bcb8. Report an issue: GitHub.