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

Lỗi nghiêm trọng:Sử dụng $ this khi không ở trong ngữ cảnh đối tượng trong

Giống như lỗi cho biết, bạn không thể sử dụng $this bên ngoài định nghĩa lớp. Để sử dụng $_db bên ngoài định nghĩa lớp, trước tiên hãy đặt nó public thay vì private :

public $_db

Sau đó, sử dụng mã này:

$authDb = new AuthDb();
$authDb->_db->prepare($query); // rest of code is the same

-

Bạn phải hiểu $this là gì thực sự có nghĩa là. Khi được sử dụng bên trong định nghĩa lớp, $this được sử dụng để tham chiếu đến một đối tượng của lớp đó. Vì vậy, nếu bạn có một hàm foo bên trong AuthDB và bạn cần truy cập $_db từ bên trong foo , bạn sẽ sử dụng $this để cho PHP biết rằng bạn muốn $_db từ cùng một đối tượng foo thuộc về.

Bạn có thể muốn đọc câu hỏi StackOverflow này: PHP:self vs $ this




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi bảng Json sang SQL

  2. Kết nối với MySQL từ .NET bằng Thư viện SSH.NET

  3. Lỗi 1022 - Không thể ghi; sao chép chìa khóa trong bảng

  4. Truy vấn MySQL không sử dụng chỉ mục trong tham gia bảng

  5. diễn đàn php tùy chỉnh - hiển thị các bài viết mới / chưa đọc