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

phiên đăng nhập bị hủy sau khi làm mới

mysqli_real_escape_string() YÊU CẦU bạn có kết nối đang hoạt động / được thiết lập với DB. Vì bạn đang làm m_r_e_s() gọi TRƯỚC KHI bạn kết nối, bạn sẽ chỉ nhận được boolean FALSE để báo hiệu sự thất bại. Vì vậy, bạn đang chuyển các giá trị "được trích dẫn" của mình vào thùng rác.

Các giá trị sai boolean được chèn vào một chuỗi chỉ được chuyển đổi thành các chuỗi trống, vì vậy các truy vấn của bạn bắt đầu trông giống như

SELECT ... WHERE username=''
                           ^---see the boolean false in there?

Chuỗi mã của bạn phải là:

session_start();
connect_to_db();
prepare_variables();
do_query();

Và vì bạn đang sử dụng mysqli, tại sao bạn luôn thoát các biến theo cách thủ công? Bạn chỉ có thể sử dụng một câu lệnh đã chuẩn bị sẵn + trình giữ chỗ và hoàn toàn bỏ qua vấ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. MySQL số ​​nguyên không dấu vấn đề số học?

  2. Cha / Con trong cùng một bảng

  3. Nhận các trường tương tự được lặp lại nhiều nhất trong cơ sở dữ liệu MySQL

  4. mysql cte. sử dụng với và chèn nó cảnh báo lỗi cú pháp

  5. Làm thế nào để làm cho các truy vấn trong một thủ tục được lưu trữ nhận biết được Giao dịch mùa xuân?