Không tìm thấy lớp mysql

If you are trying to open multiple, separate MySQL connections with the same MySQL user, password, and hostname, you must set $new_link = TRUE to prevent mysql_connect from using an existing connection.

For example, you are opening two separate connections to two different databases (but on the same host, and with the same user and password):

$db1 = mysql_connect($dbhost, $dbuser, $dbpass);
$rv = mysql_select_db($dbname1, $db1);
$db2 = mysql_connect($dbhost, $dbuser, $dbpass);
$rv = mysql_select_db($dbname2, $db2);

________số 8

The workaround is to require that the second MySQL connection is new:

$mysqli = new MySQLi($db_server, $db_user, $db_password, $db_name);
0

$mysqli = new MySQLi($db_server, $db_user, $db_password, $db_name);
1

$mysqli = new MySQLi($db_server, $db_user, $db_password, $db_name);
2

$mysqli = new MySQLi($db_server, $db_user, $db_password, $db_name);
3

Một lỗi phổ biến xảy ra, đặc biệt đối với những người mới bắt đầu phát triển SQL là một lỗi nghiêm trọng khi cố gắng tham chiếu đến lớp MySQLi, chẳng hạn như

Không tìm thấy lớp mysql

Fatal error: Class 'MySQLi' not found ([URL]) on line [X]

Vấn đề

Vấn đề đang xảy ra ở đây là lớp, trong trường hợp này là 'MySQLi' không thể được khởi tạo. Hãy tạm quên rằng đây là sự cố MySQLi và xem xét rằng đây thực sự là sự cố mà bạn có thể gặp phải với bất kỳ sự phát triển lập trình hướng đối tượng nào. Vấn đề cơ bản ở đây là bạn đang cố tải một lớp không có hoặc không thể tìm thấy

Khởi tạo lớp MySQLi

Bạn có thể sẽ sử dụng một đoạn mã đơn giản để khởi tạo lớp MySQLi của mình. Cái gì đó như

$mysqli = new MySQLi($db_server, $db_user, $db_password, $db_name);
  • $mysqli – đây là đối tượng mà bạn muốn lưu trữ tham chiếu đến phiên bản MySQLi mới
  • $db_server – địa chỉ máy chủ cơ sở dữ liệu của bạn
  • $db_user – tên người dùng để sử dụng với cơ sở dữ liệu của bạn (toàn máy chủ hoặc cơ sở dữ liệu cụ thể)
  • $db_password – mật khẩu cho người dùng cơ sở dữ liệu được lưu trữ trong $db_user
  • $db_name – bảng cơ sở dữ liệu mà bạn muốn truy cập

Luôn luôn đáng để kiểm tra kỹ cả cấu trúc mã khởi tạo của bạn để đảm bảo không có lỗi đánh máy hoặc thiếu tham số vì đây là nguyên nhân phổ biến. Ngoài ra, hãy kiểm tra kỹ tất cả các chi tiết bạn đang cung cấp trong thông số của mình

Kiểm tra cài đặt MySQLi của bạn

Một lý do phổ biến cho lỗi trên xảy ra chỉ đơn giản là quên cài đặt MySQLi. Điều này có thể dễ dàng được thực hiện cục bộ trong quá trình phát triển bằng cách truy cập trang web PHP để cài đặt MySQLi. Trên các máy Windows, bạn có thể thấy rằng bạn không (hoặc chưa) phải thực hiện việc này theo cách thủ công nếu bạn đã sử dụng trình cài đặt nhị phân. Tiện ích mở rộng MySQLi được bật theo mặc định cho PHP phiên bản 5. 3. 0 trở đi

Nếu bạn đã sử dụng trình cài đặt nhị phân mà nó vẫn không hoạt động, hãy thử cài đặt lại PHP để xem nó có giải quyết được sự cố không vì có thể đã xảy ra lỗi cài đặt hoặc cấu hình không hoàn tất chính xác

Nếu bạn đang chạy mã của mình trên AWS, bạn có thể sử dụng một lệnh chẳng hạn như

sudo yum install php71-mysqli

Điều này sẽ kích hoạt cài đặt MySQLi

Để cài đặt trình điều khiển gốc trên Linux, bạn sẽ cần một cái gì đó như

sudo apt-get install php-mysqlnd

Những điều cần kiểm tra lại khi khởi tạo MySQLi Class

Nếu bạn vẫn gặp sự cố khi khởi tạo lớp MySQLi sau khi kiểm tra cài đặt, bạn có thể thử các cách giải quyết vấn đề phổ biến sau

Tôi đã cài đặt apache và php và chạy nó (tôi có thể truy cập php. ini qua máy chủ cục bộ). Tôi đang cố truy cập mã mysqli và không thể tìm thấy nó. Đoạn script sau cho biết mysqli không tồn tại

if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
    echo 'We don\'t have mysqli!!!';
} else {
    echo 'Phew we have it!';
}

Tôi đã sửa đổi php. ini để bỏ ghi chú extension=php_mysqli. dll cũng như extension_dir của windows (extension_dir = "ext")

php nằm trong c. /php

- stackoverflow. com

điểm. 7

Tôi đã phải thay đổi extension_dir = "ext" thành "c. /php/máy lẻ"

Thêm câu hỏi với thẻ tương tự

Nói chuyện với người dùng. Đã xảy ra sự cố và kế hoạch khôi phục do chủ nhà khởi xướng trong đó thông số kỹ thuật của người dùng đã thay đổi so với vị trí đóng gói của chủ nhà cuối cùng mà anh ấy đã sử dụng để quản lý cửa hàng của mình. Cửa hàng đã chuyển sang máy chủ mới. Không có báo cáo phản đối nào được tìm thấy từ ngành công nghiệp PHP giải quyết thực tế là mysqlnd sẽ tiếp quản phần mở rộng mysqli của php

Người dùng đã tạo một vé với máy chủ và đang chờ các bản cập nhật tiếp theo trên phiếu yêu cầu sự cố để biết liệu tiện ích mở rộng mySQLi với PHP vẫn có thể được sử dụng hoặc nâng cấp lên phiên bản cao hơn. thư viện máy chủ mySQL hiện tại và vẫn là dự phòng của, v5. Bản phát hành 0x với PHP v7. 3. 23 phát hành


Sự cống hiến và niềm đam mê dành cho những người có thể thúc đẩy và hợp nhất một dự án

Trân trọng,
Straightlight
Lập trình viên / Người kiểm tra Opencart