2013-03-19 21 views
7

Tôi đang sử dụng Windows XP và sử dụng EasyPHP làm máy chủ. Tôi đã tích hợp Codeigniter với TankAuth. Tuy nhiên, khi tôi cố gắng để mở thư mục phân công của tôi, nó cho thấy lỗi như sau:Codeigniter: Hiển thị lỗi là 'Không thể chọn cơ sở dữ liệu được chỉ định: project' trong Windows XP

Unable to select the specified database: project 

Filename: C:\Program Files\EasyPHP-12.1\www\assignment\system\database\DB_driver.php 

Line Number: 140 

Các mã bên trong cơ sở dữ liệu của tôi .php như sau"

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'root'; 
$db['default']['password'] = 'root123'; 
$db['default']['database'] = 'project'; 
$db['default']['dbdriver'] = 'mysql'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 

Tôi đã kiểm tra database.php của tôi, bên trong nó tôi có tên cơ sở dữ liệu như 'dự án'.

tôi đã thử với hostname cả hai như là 'localhost' và là '127.0.0.1', nhưng không ai làm việc.

tôi đã thiết lập bộ điều khiển mặc định của tôi để 'auth ' I E bộ điều khiển mặc định của TankAuth.

Và đã khởi tạo thư viện 'cơ sở dữ liệu' trong cấu trúc trong bộ điều khiển 'auth'.

Bây giờ tôi đã thử điều tương tự bằng Wamp Server. Nhưng, có kết quả tương tự.

Somewhere I đọc rằng tôi nên thử làm $db['default']['pconnect']

$db['default']['db_debug']-FALSE. Nhưng nó không hoạt động.

Và tất cả quyền truy cập đã được cấp cho cơ sở dữ liệu 'dự án'.

Có điều gì tôi nên cố gắng làm cho nó hoạt động không?

Cảm ơn trước ...

+0

Một nơi nào đó bạn đang cố gắng tải cơ sở dữ liệu có tên "dự án" ... bạn có đang thực hiện việc này trong bộ điều khiển không? –

+0

@DevinYoung Không, tôi không tải bất kỳ cơ sở dữ liệu nào trong bộ điều khiển 'auth.php' – V15HM4Y

+0

Xin chào, Bạn có khắc phục được sự cố này không? .. Bây giờ tôi có vấn đề này, Vui lòng cho tôi biết cách khắc phục – shruthi

Trả lời

10

Các lỗi được nói rằng nó đã kết nối thành công với các phần mềm cơ sở dữ liệu của bạn, nhưng nó không thể tìm thấy DB định tên project. Kiểm tra kết nối DB của bạn và đảm bảo rằng tất cả các kết nối đều chính xác - có vẻ như tên cơ sở dữ liệu của bạn phải là assignment thay thế.

Chỉnh sửa: Kiểm tra để đảm bảo người dùng DB bạn đang đăng nhập cũng có quyền truy cập cơ sở dữ liệu được chỉ định.

+0

Xin lỗi vì đã gây hiểu nhầm cho bạn. Đó là sai lầm của tôi khi viết một câu hỏi sai. Trên thực tế 'chuyển nhượng' là tên của thư mục Codeigniter của tôi. Và tên cơ sở dữ liệu trong tệp cấu hình 'database.php' là 'project'. Và cơ sở dữ liệu có cùng tên cũng xuất hiện trong cơ sở dữ liệu MYSQL của tôi – V15HM4Y

+0

Xem lưu ý đã sửa đổi về quyền người dùng DB. –

+0

Tôi đã xác minh rằng dự án cơ sở dữ liệu có tất cả các quyền truy cập DB – V15HM4Y

1

Hãy thử cách này: chỉ cần làm mới phần mềm db. Nếu bạn đang sử dụng PHPMy Admin, hãy làm mới trang và thử tải trang PHP của bạn. hoặc nếu bạn có bất kỳ thủ tục được lưu trữ nào trong db của mình, điều này có thể gây ra sự cố. thử xóa các thủ tục được lưu trữ.

20

Tôi đã gặp phải sự cố tương tự nhưng tiếc là không có câu trả lời nào trên trang web nào được trợ giúp. Điều kỳ lạ là tôi đã dễ dàng có thể kết nối với MySQL bằng cách sử dụng PHP đơn giản nhưng trong CodeIgniter tôi đã nhận được thông báo này.

Cuối cùng, điều này đã giải quyết được vấn đề của tôi. Mở tập tin application/config/database.php và thay đổi dòng sau:

$db['default']['dbdriver'] = 'mysql'; 

Để:

$db['default']['dbdriver'] = 'mysqli'; 

Sự thay đổi này để mysqli lưu theo ngày.

+0

Cảm ơn, Nó đã hoạt động. xD ... Dnt biết tại sao và làm thế nào, nhưng giải pháp của bạn làm việc cho tôi .. :) Nó đã được làm việc trước, nhưng không chắc chắn lý do tại sao nó ngừng làm việc ở nơi đầu tiên. –

1

Có thể điều này sẽ tiết kiệm đôi khi - tôi đang sử dụng cPanel và nó có một quy tắc nhất định mà người dùng phải được gắn với cơ sở dữ liệu để truy cập nó. Tôi đã nhận được cùng một lỗi, nhưng vì tôi không có quyền, tôi không thể truy cập nó.

Trong cPanel hãy truy cập Cơ sở dữ liệu MySQL, tìm người dùng của bạn và thêm người dùng này vào cơ sở dữ liệu của bạn.

0
Notice: SQL safe mode in effect – ignoring host/user/password information in 
mysql_connect(): SQL safe mode in effect – ignoring host/user/password information in 
This is caused due to your php.ini sql safe mode settings. 
Login your php.ini file. 
Go php.ini from apache and turn off sql.safe mode. 

[SQL] 
sql.safe_mode = Off 
Restart apache 
Các vấn đề liên quan