Ich muss einen Spaltennamen nur einmal in die SQL-Abfrage übergeben. Dieser Code funktioniert ordnungsgemäß bei der Bestellung, aber wenn eine Schaltfläche auf der Seite gedrückt wird (die Inhalt in eine Tabelle einfügt), wird dieser Fehler ausgelöst.kann 'str' und 'nonetype' Objekte in Python/sql/flask nicht verketten
„kann nicht verketten‚str‘und‚nonetype‘Objekte“
if request.method == "POST":
## DISPLAYING MOVIES ##
general = db.execute(
"""
SELECT Movies.Movie_ID, Movies.Name, Movies.Year, Movies.Image
FROM Movie_Genre
JOIN Movies ON Movie_Genre.Movie_ID = Movies.Movie_ID
JOIN Genres ON Movie_Genre.Genre_ID = Genres.Genre_ID
WHERE Genres.Genre = ? AND Rating_IMDB >= ?
ORDER BY """+order+""";
""",
(str(selectedGenre), rating)
)
basic = general.fetchall()
Dies ist der Code, der die Fehler angezeigt werden verursacht .. Der Code wird ausgeführt, wenn ein Benutzer die ‚Favoriten‘ Taste drückt.
try:
clicked = request.get_json(['data'])
user = db.execute(
"""
SELECT User_ID
FROM Users
WHERE Username = ?;
""",
(user_name,)
)
userID = user.fetchone()[0]
user_favs = db.execute(
"""
INSERT INTO User_Favs
VALUES (?,?);
""",
(userID, clicked,)
)
db.commit()
db.close()
gc.collect()
except:
pass
EDIT
Dies ist, wo Ordnung herkommt, ist es so gut wie nie ‚Keine‘
order = request.form.get('order')
while order:
if order == "Newest":
order = "Year DESC"
break
elif order == "Oldest":
order = "Year ASC"
break
elif order == "Best":
order = "Rating_IMDB DESC"
break
elif order == "Worst":
order = "Rating_IMDB ASC"
break
else:
order == ''
break
Wenn das Problem mit der Verkettung Abfrage würde nicht auf dann die Reihenfolge war arbeiten die Website, aber es tut es. Der Fehler tritt nur auf, wenn ich die 'Favorit'-Taste drücke. Das fügt Daten in die Datenbank ein.
Ihre Decke außer wird nicht sehr informativ –
Okay, so wird der Fehler als "400: Bad Request" angezeigt. Danke, dass du das herausgebt hast, btw – 0248881
Also woher kommt 'order', da es eindeutig' None' ist (das sagt der Fehler). Ich nehme an, dass alle Snippets von derselben View-Funktion stammen. Sie könnten zum Beispiel prüfen, ob "Order ist None" ist und entsprechend handeln. –