{"id":"2f9f31df8c8c19cb","repo":"typeorm/typeorm","slug":"your-driver-does-not-support-named-placeholders-2f9f31","errorCode":null,"errorMessage":"Your driver does not support named placeholders.","messagePattern":"Your driver does not support named placeholders\\.","errorType":"exception","errorClass":"NamedPlaceholdersNotSupportedError","httpStatus":null,"severity":"error","filePath":"src/driver/cordova/CordovaQueryRunner.ts","lineNumber":59,"sourceCode":"    async afterMigration(): Promise<void> {\n        await this.query(`PRAGMA foreign_keys = ON`)\n    }\n\n    /**\n     * Executes a given SQL query.\n     *\n     * @param query\n     * @param parameters\n     * @param useStructuredResult\n     */\n    async query(\n        query: string,\n        parameters?: any[] | ObjectLiteral,\n        useStructuredResult = false,\n    ): Promise<any> {\n        if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n        if (parameters && !Array.isArray(parameters))\n            throw new NamedPlaceholdersNotSupportedError()\n\n        const databaseConnection = await this.connect()\n\n        this.driver.dataSource.logger.logQuery(query, parameters, this)\n        await this.broadcaster.broadcast(\"BeforeQuery\", query, parameters)\n\n        const broadcasterResult = new BroadcasterResult()\n        const queryStartTime = Date.now()\n\n        try {\n            const raw = await new Promise<any>((ok, fail) => {\n                databaseConnection.executeSql(\n                    query,\n                    parameters,\n                    (raw: any) => ok(raw),\n                    (err: any) => fail(err),\n                )\n            })","sourceCodeStart":41,"sourceCodeEnd":77,"githubUrl":"https://github.com/typeorm/typeorm/blob/04ff4daedcf60fa4ffd0d5d33bbafaac1a9bbc96/src/driver/cordova/CordovaQueryRunner.ts#L41-L77","documentation":"Error \"Your driver does not support named placeholders.\" thrown in typeorm/typeorm.","triggerScenarios":"A raw query containing named placeholders (e.g. `:id`) is executed through the Cordova driver, which only supports positional `?` parameters.","commonSituations":"See trigger scenarios.","solutions":["Use positional (?) placeholders instead of named parameters in raw queries for the cordova driver."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"04ff4daedcf60fa4ffd0d5d33bbafaac1a9bbc96","analyzedAt":"2026-08-03T18:27:32.281Z","schemaVersion":2}