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

Lỗi PHP:Gọi đến một hàm thành viên rowCount () trên một đối tượng không phải

Chúng tôi có nhiều khả năng đang xử lý các chuỗi ở đây, vì vậy các biến trong giá trị của bạn cần được trích dẫn.

WHERE ens_cin='$login' AND ens_pass='$password'";

Ngoài ra, việc chỉ sử dụng PDO của riêng nó, không có nghĩa là bạn an toàn trước SQL injection.

Thông tin chi tiết:

Đảm bảo rằng bạn thực sự đang kết nối qua PDO chứ không phải mysqli_ . Tôi thấy những loại câu hỏi này thường xuyên.

Nếu đúng như vậy, các API MySQL khác nhau đó không trộn lẫn với nhau.

Bây giờ là:

$password=$_GET["password"];

Chuyển mật khẩu qua GET cũng không an toàn; bạn không biết ai có thể đang "lắng nghe". Bạn nên sử dụng POST. Tôi cũng hy vọng rằng bạn đang sử dụng hàm băm chứ không phải văn bản thuần túy để lưu trữ mật khẩu.

Ghi chú bên lề:Đảm bảo rằng bạn thực sự đang sử dụng GET và không bị trộn lẫn với POST, nếu điều này đến từ một biểu mẫu HTML.

Có thể bạn đang không kiểm tra lỗi.

Thêm $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ngay sau khi kết nối được mở.

Thêm báo cáo lỗi lên đầu (các) tệp của bạn, điều này sẽ giúp tìm ra lỗi.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Chú thích bên lề: Báo cáo lỗi chỉ nên được thực hiện theo giai đoạn và không bao giờ được thực hiện trong quá trình sản xuất.



  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:Trường NULL sử dụng bao nhiêu dung lượng?

  2. Làm cách nào để chuyển đổi giây (hoặc mili giây) thành dấu thời gian (hoặc chỉ một chuỗi giống như ngày tháng) trong mySql

  3. PHP:Khái niệm hệ thống xếp hạng sao?

  4. MYSQL xóa tất cả các kết quả có số lượng (*) =1

  5. Còn gì tốt hơn - nhiều bàn nhỏ hay một bàn lớn?