Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Flask, không phải tất cả các đối số được chuyển đổi trong quá trình định dạng chuỗi

Chỉ cần chuyển đổi nhận xét trước đó của tôi thành một câu trả lời, vì nó có vẻ là giải pháp phù hợp :-)

Vấn đề là đến từ một dòng khác. Bạn có cái này:

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

Điều này không làm những gì bạn có thể nghĩ. Đặt email trong ngoặc không làm gì cả, vì vậy dòng thực sự tương đương với việc chuyển từng ký tự của bất kỳ ký tự nào trong biến đó trong danh sách các ký tự. Nếu thay vào đó, bạn làm điều này:

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

... thì bạn sẽ chuyển vào một bộ chứa một mục, email và nó sẽ hoạt động tốt hơn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB sai thứ tự nhưng đúng trong MySQL

  2. Thiết kế để đại diện cho việc nhận và trả phòng của nhân viên

  3. Nhận tất cả người dùng ngoại trừ người dùng đã đăng nhập hiện tại trong laravel hùng hồn

  4. MySQL ISNULL () Giải thích

  5. Codeigniter / PHP kiểm tra xem có thể kết nối với cơ sở dữ liệu không