我有自己託管的Web應用程序,我試圖訪問information_schema
表一些如何可以在某些服務器禁用它。如何檢查它是否可訪問?如何檢查一個mysql表可訪問或不通過php
0
A
回答
1
1
將數據庫設置爲information_schema並從選定數據庫運行查詢「顯示錶」。如果你有讀權限,那麼你將從該數據庫中獲取所有表。檢查所有查詢的結果。
+0
該死的真正的傢伙:+1: – Developer
2
樣品溶液解決此問題:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>MySQL Connection Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
#wrapper {
width: 600px;
margin: 20px auto 0;
font: 1.2em Verdana, Arial, sans-serif;
}
input {
font-size: 1em;
}
#submit {
padding: 4px 8px;
}
</style>
</head>
<body>
<div id="wrapper">
<?php
$action = htmlspecialchars($_GET['action'], ENT_QUOTES);
?>
<?php if (!$action) { ?>
<h1>MySQL connection test</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?action=test" id="mail" method="post">
<table cellpadding="2">
<tr>
<td>Hostname</td>
<td><input type="text" name="hostname" id="hostname" value="" size="30" tabindex="1" /></td>
<td>(usually "localhost")</td>
</tr>
<tr>
<td>Username</td>
<td><input type="text" name="username" id="username" value="" size="30" tabindex="2" /></td>
<td></td>
</tr>
<tr>
<td>Password</td>
<td><input type="text" name="password" id="password" value="" size="30" tabindex="3" /></td>
<td></td>
</tr>
<tr>
<td>Database</td>
<td><input type="text" name="database" id="database" value="" size="30" tabindex="4" /></td>
<td>(optional)</td>
</tr>
<tr>
<td></td>
<td><input type="submit" id="submit" value="Test Connection" tabindex="5" /></td>
<td></td>
</tr>
</table>
</form>
<?php } ?>
<?php if ($action == "test") {
// The variables have not been adequately sanitized to protect against SQL Injection attacks: http://us3.php.net/mysql_real_escape_string
$hostname = trim($_POST['hostname']);
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$database = trim($_POST['database']);
$link = mysql_connect("$hostname", "$username", "$password");
if (!$link) {
echo "<p>Could not connect to the server '" . $hostname . "'</p>\n";
echo mysql_error();
}else{
echo "<p>Successfully connected to the server '" . $hostname . "'</p>\n";
// printf("MySQL client info: %s\n", mysql_get_client_info());
// printf("MySQL host info: %s\n", mysql_get_host_info());
// printf("MySQL server version: %s\n", mysql_get_server_info());
// printf("MySQL protocol version: %s\n", mysql_get_proto_info());
}
if ($link && !$database) {
echo "<p>No database name was given. Available databases:</p>\n";
$db_list = mysql_list_dbs($link);
echo "<pre>\n";
while ($row = mysql_fetch_array($db_list)) {
echo $row['Database'] . "\n";
}
echo "</pre>\n";
}
if ($database) {
$dbcheck = mysql_select_db("$database");
if (!$dbcheck) {
echo mysql_error();
}else{
echo "<p>Successfully connected to the database '" . $database . "'</p>\n";
// Check tables
$sql = "SHOW TABLES FROM `$database`";
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0) {
echo "<p>Available tables:</p>\n";
echo "<pre>\n";
while ($row = mysql_fetch_row($result)) {
echo "{$row[0]}\n";
}
echo "</pre>\n";
} else {
echo "<p>The database '" . $database . "' contains no tables.</p>\n";
echo mysql_error();
}
}
}
}
?>
</div><!-- end #wrapper -->
</body>
</html>
參考:[https://ardamis.com/2008/05/26/a-php-script-for-testing-a-mysql-database-connection/][1]
相關問題
- 1. 無法通過MySQL Workbench或HeidiSQL訪問MySQL,但可以通過shell訪問
- 2. 通過PHP通過Javascript訪問MySQL
- 3. MySQL訪問 - 允許遠程訪問或通過PHP?
- 4. 如何檢查一個文件夾是否可以通過網絡訪問c#
- 5. 如何檢查一個cron作業是否正在運行或不通過php?
- 6. 如何檢查本地服務器是否可以通過php訪問?
- 7. 如何檢查通過mod_rewrite通過IP訪問的服務器?
- 8. 如何通過檢查另一個鍵
- 9. 如何使用PHP檢查5分鐘一個MySQL TIME列通
- 10. MySql如何通過`IF`或另一個`CASE`檢查`CASE`語句的`END AS`
- 11. php:如何檢查一個mysql數據是否過期
- 12. Linq在ASP.net查詢MVC通過表訪問另一個表
- 13. PHP腳本訪問鏈接通過另一個頁面如何?
- 14. 通過JAVASCRIPT或PHP檢測訪問者的瀏覽器?
- 15. PHP MySQL通過html表格插入查詢,參數不通過
- 16. 檢查列表是否存在於Mysql表中通過php
- 17. 檢查或取消選擇selectBooleanCheckBox通過檢查另一個
- 18. 如何通過php訪問root包?
- 19. 如何通過php訪問.xlsb文件?
- 20. 如何通過PHP訪問RESTful API
- 21. PHP,如何檢查一個MySQL表是否有名稱
- 22. 是否可以通過PHP訪問REQUEST_FILENAME?
- 23. 無法通過PHP遠程訪問mySQL,如何解決?
- 24. 如何檢查ReflectionProperty是否可訪問?
- 25. PHP和MySQL - 如何檢查是否一個數組爲空或不在函數
- 26. 如何檢查是否一個整數可以通過3
- 27. 如何通過PHP檢測中東訪問者?
- 28. 通過PHP檢測MySQL InnoDB
- 29. 檢查網頁是否可以通過php訪問並用ajax刷新
- 30. 通過Python訪問XAMPP mysql
https://ardamis.com/2008/05/26/a-php-script-for-testing-a-mysql -database-connection/ –
謝謝你,夥計,它的工作 – Developer
我發佈下面的答案爲他人。如果它適合你,請將其標記爲正確。謝謝:) –