sql >> Database teknologi >  >> RDS >> Mysql

Flask, ikke alle argumenter konverteret under strengformatering

Jeg konverterede bare min tidligere kommentar til et svar, da det så ud til at være den rigtige løsning :-)

Problemet kommer fra en anden linje. Du har denne:

        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email))

Dette gør ikke, hvad du måske tror, ​​det gør. Indsætter email i parentes gør intet, så linjen svarer faktisk til at indsætte hvert tegn af hvad der er i den variabel i en liste over tegn. Hvis du i stedet gør dette:

        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email,))

...så sender du en tuple, der indeholder ét element, email , og det burde fungere bedre.




  1. Java PreparedStatement henter sidst indsatte ID

  2. MySql :Vælg sætning ved hjælp af IN-operator

  3. Hvordan låser man borde med kodetænder?

  4. Hvordan håndhæver jeg sætlignende unikhed mellem flere kolonner?