0
lỗi Call to undefined method MongoClient::selectDatabase()
mình đang muốn lưu file lên mongodb(cụ thể là 1 file ảnh) bằng cách sử dụng MongoClient. Tuy nhiên, khi chọn file upload rồi ấn submit thì nó lại báo lỗi Call to undefined method MongoClient::selectDatabase(). Code của mình đây, có cao nhân nào trợ giúp với! !
1 CÂU TRẢ LỜI
0
Mình tưởng là thế này chứ nhỉ:
$client = new \MongoDB\Client()
$database = $client->selectDatabase('test')
mình có gọi như thế lúc trước. Nhưng nó báo là class not found. Chuyển thành như kia thì được. Cơ mà nó lại báo là ko tìm thấy phương thức nào tên selectDatabase cả
@catbuidem Bạn thử lại với code của mình ở trên rồi chạy lệnh này trên terminal xem có bị ClassNotFound
nữa không:
composer dump-autoload
nó báo LÀ : Class 'MongoDB\Driver\Manager' not found
chạy composer như lệnh của bạn thì nó ra như này! 3.png
@catbuidem Bạn có thể chia sẻ thêm xem bạn đang dùng package MongoDB gì vậy,
và đoạn code ở phần trên cùng, lúc bạn khai báo sử dụng namespace được không
P/S: không liên quan đế lỗi bạn đang gặp, nhưng ở dòng 175 trong hình, thì bạn viết sai tên biến
$dataBase
thành$dataBast
kìa Ngoài ra, database là một danh từ, nên mình nghĩ nên đặt tên biến là$database
thôi, không cần viết hoa chữB
đâu.mình cài gói mongodb/mongodb với composer. Phần code trên cùng thì ko có liên quan đâu bạn, Còn cái namespace thì mình chưa có khai báo gì cả bởi trên document của mongo không thấy gi. Bạn có thể chỉ rõ hơn cho mình có được ko? Toàn bộ phần code cho cái này thì chỉ có ảnh ở trên cộng với ảnh này thôi! 1.png
Bạn kiểm tra lại xem mongodb driver cho PHP có hoạt động không? Refercence
@vinhnguyen oh.Của mình nó báo là Extension 'mongodb' not present
@catbuidem thế bạn chưa cài mongodb extension cho PHP rồi. Bạn thử theo hướng dẫn mình gửi ở trên xem sao.
Mình làm theo hướng dẫn xong vẫn bị
@catbuidem Như trong hình ảnh ở trên thì bạn vẫn đang gặp lỗi load extension
mongodb
kìaKhông load được nó thì sao bạn gọi được những hàm liên quan đến mongodb được define ở trong đấy. Bạn xem lại cách thức cài đặt, và kiểm tra lại config php xem sao.