Tôi muốn hiển thị danh sách tất cả các cơ sở dữ liệu trên máy chủ của mình, khi tôi làm điều này:
echo mysql_query[" SHOW DATABASES "];
Tôi nhận được lỗi này:
Resource id #3
Vậy làm thế nào để làm điều đó?
hỏi ngày 9 tháng 3 năm 2011 lúc 2:43Mar 9, 2011 at 2:43
2
Bạn cần lấy một kết quả được đặt từ truy vấn, như vậy:
$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
Đã trả lời ngày 9 tháng 3 năm 2011 lúc 2:45Mar 9, 2011 at 2:45
Jacob Relkinjacob RelkinJacob Relkin
159K33 Huy hiệu vàng341 Huy hiệu bạc318 Huy hiệu Đồng33 gold badges341 silver badges318 bronze badges
Rõ ràng là bạn chưa quen với PHP, vì vậy đây là một mẹo lớn.
Phần mở rộng "MySQL" đã cũ và bị vỡ. Đừng sử dụng nó và ngừng đọc bất kỳ hướng dẫn nào cho bạn biết đó là điều cần sử dụng.
Thay vào đó, hãy học PDO, nó hoạt động cho hầu hết các công cụ cơ sở dữ liệu và giúp bạn làm điều đúng đắn. Đây là một ví dụ:
$dbh = new PDO['mysql:host=localhost;user=foo;password=bar;dbname=baz'];
$statement = $dbh->query['SHOW DATABASES'];
print_r[ $statement->fetchAll[] ];
Đã trả lời ngày 9 tháng 3 năm 2011 lúc 2:47Mar 9, 2011 at 2:47
CharlescharlesCharles
50,5K13 Huy hiệu vàng103 Huy hiệu bạc141 Huy hiệu đồng13 gold badges103 silver badges141 bronze badges
5
Giải pháp của Jacob Relkin rất tốt.
Tuy nhiên, nếu bạn đang sử dụng MySQL 5.x, tôi sẽ chỉ thay đổi một điều:
Thay vì sử dụng cơ sở dữ liệu hiển thị; Tôi sẽ sử dụng truy vấn này
Chọn lược đồ_name từ thông tin_schema.schemata;
Đã trả lời ngày 9 tháng 3 năm 2011 lúc 2:57Mar 9, 2011 at 2:57
RolandomysqldbarolandomysqldbaRolandoMySQLDBA
43.3K16 Huy hiệu vàng91 Huy hiệu bạc130 Huy hiệu đồng16 gold badges91 silver badges130 bronze badges
2
Để chỉ liệt kê các cơ sở dữ liệu hữu ích chứ không phải các hệ thống:
$query = "SELECT schema_name FROM information_schema.schemata WHERE schema_name
NOT IN ['information_schema', 'mysql', 'performance_schema']";
$result = mysqli_query[$link, $query] or die[mysqli_error[$link]];
$dbs = array[];
while[$db = mysqli_fetch_row[$result]]
$dbs[] = $db[0];
echo implode['
', $dbs];
Người dùng MySQL của bạn nên có quyền truy cập đầy đủ, nếu không bạn sẽ chỉ thấy các cơ sở dữ liệu mà bạn có ít nhất đọc quyền.
Đã trả lời ngày 12 tháng 6 năm 2014 lúc 6:10Jun 12, 2014 at 6:10
Bạn đang nhận được một bộ kết quả truy vấn. Bạn cần truy xuất các hàng kết quả như thế này:
$r = mysql_query["SHOW DATABASES"];
while [$row = mysql_fetch_assoc[$r]] {
print_r[$row];
}
Đó là aught để làm điều đó
Đã trả lời ngày 9 tháng 3 năm 2011 lúc 2:46Mar 9, 2011 at 2:46
Arnorhsarnorhsarnorhs
10.3k2 Huy hiệu vàng34 Huy hiệu bạc38 Huy hiệu đồng2 gold badges34 silver badges38 bronze badges
[Php 4, Php 5]
MySQL_LIST_DBS - Danh sách cơ sở dữ liệu có sẵn trên máy chủ MySQL — List databases available on a MySQL server
Cảnh báo
Chức năng này được không dùng nữa trong Php 5.4.0, và nó và toàn bộ tiện ích mở rộng MySQL ban đầu đã bị xóa trong Php 7.0.0. Thay vào đó, hãy sử dụng các phần mở rộng MySQLI hoặc PDO_MYSQL được phát triển tích cực. Xem thêm MySQL: Chọn hướng dẫn API. Giải pháp thay thế cho chức năng này bao gồm:
- Truy vấn SQL:
SHOW DATABASES
Sự mô tả
Yêu cầu[resource
$link_identifier
= NULL]: resource
Liệt kê tất cả các cơ sở dữ liệu trên máy chủ SQL.
Hiển thị cơ sở dữ liệu;Chuyển sang cơ sở dữ liệu.mysql_connect[] is assumed. If no such link is found, it will try to create one as if
mysql_connect[] had been called with no arguments. If no connection is found or established, an
0 level error is generated.Resource id #3
sử dụng [Tên DB];
Để xem tất cả các bảng trong DB.resource on success, or
1 on failure. Use the
mysql_tablename[] function to traverse this result pointer, or any function for result tables, such as mysql_fetch_array[]. Resource id #3
Ví dụ
Ví dụ #1 mysql_list_dbs [] ví dụmysql_list_dbs[] example
Resource id #3
2Resource id #3
3Resource id #3
4Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:
database1 database2 database3
Ghi chú
Ghi chú::
Để tương thích ngược, có thể sử dụng bí danh không dùng nữa: mysql_listdbs []mysql_listdbs[]
Xem thêm
- mysql_db_name [] - Lấy tên cơ sở dữ liệu từ cuộc gọi đến mysql_list_dbs
- mysql_select_db [] - Chọn cơ sở dữ liệu MySQL
Jeff tại forerunnertv dot com ¶ ¶
2 năm trước
Resource id #3
5Resource id #3
6Resource id #3
7Resource id #3
8Resource id #3
9$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
0Busilezas tại Gmail Dot Com ¶ ¶
7 năm trước
$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
1$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
2$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
3$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
0matjung tại hotmail dot com ¶
12 năm trước
$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
5trị liệu ¶ ¶
10 năm trước
$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
6$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
7$set = mysql_query['SHOW DATABASES;'];
$dbs = array[];
while[$db = mysql_fetch_row[$set]]
$dbs[] = $db[0];
echo implode['
', $dbs];
0Làm cách nào để xem cơ sở dữ liệu PHP?
Lệnh nào được sử dụng để hiển thị danh sách của tất cả các cơ sở dữ liệu?
Các lệnh MySQL tiện dụng | |
Sự mô tả | Yêu cầu |
Liệt kê tất cả các cơ sở dữ liệu trên máy chủ SQL. | Hiển thị cơ sở dữ liệu; |
Chuyển sang cơ sở dữ liệu. | sử dụng [Tên DB]; |
Để xem tất cả các bảng trong DB. | Hiển thị bảng; |