Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

My Flask app returns an unexpected syntax error

I’m basically building a secured online diary application with Flask. However my Python source code returns a syntax error when I try to test the app. I can’t detect what’s wrong with the syntax. Your help will be appreciated.

I’m attaching a screenshot of the error. And here’s my SQL database’s schema:

CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
username TEXT NOT NULL,
hash TEXT NOT NULL
);

CREATE TABLE sqlite_sequence(name,seq);

CREATE UNIQUE INDEX username ON users (username);

CREATE TABLE diaries (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
name TEXT NOT NULL,
time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
title TEXT NOT NULL,
description TEXT NOT NULL,
img_url TEXT,
FOREIGN KEY(user_id) REFERENCES users(id)
);

screenshot

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

New error: unsupported value

screenshot2

>Solution :

It is INSERT statement that causes error.

Well, not the insert itself but the way you’re using it.

Values should be passed as a tuple (values between "(" and ")")

So, you need to update db.execute line with something like that

db.execute("insert into table_name(col1, col2) values(?, ?)", (col1_val, col2_val))

UPD. regarding the error on second screenshot.

db.execute("Select…) does not return a value but a set of values.

So, you might wanted to use fetchone() as in docs

res = cur.execute('SELECT count(rowid) FROM stocks') # gets you set records
print(res.fetchone()) # get first record

Anyway, check the docs I provided you link to with.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading