Error - SqliteError: unrecognized token ...

const appSchemaTableQuery = ` CREATE TABLE IF NOT EXISTS app_schema ( id INTEGER PRIMARY KEY AUTOINCREMENT, _c_url TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); ` db.exec(appSchemaTableQuery)

///////////////////////////////////////////////////////////

let _c_url = await fetch('api') let _c_url_json = await _c_url.json() let login_api = db.prepare(`UPDATE app_schema SET _c_url = ${_c_url_json.login_api}`) console.log("login_api:", login_api)

Abdulla Nilam's user avatar

Abdulla Nilam

39.9k18 gold badges85 silver badges115 bronze badges

Sathishkumar C's user avatar

1

better-sqlite3 expects bound parameters, not raw values injected into the query.


Change this

db.prepare(`UPDATE app_schema SET _c_url = ${_c_url_json.login_api}`)

To this

db.prepare(`UPDATE app_schema SET _c_url = ?`).run(_c_url_json.login_api)

For futuer readers

Use ? or named parameters. This is required in better-sqlite3

with ?

const stmt = db.prepare(` UPDATE app_schema SET _c_url = ? `); stmt.run(_c_url_json.login_api);

with named parameters

const stmt = db.prepare(` UPDATE app_schema SET _c_url = :url `); stmt.run({ url: _c_url_json.login_api });

Abdulla Nilam's user avatar

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.