Wypróbuj ten skrypt, który testuje twoje połączenie i zgłasza rzeczywisty błąd MySQL. Przydatne może być określenie, czy podane poświadczenia będą działać lub która część procesu kończy się niepowodzeniem. Ponieważ używasz go na zdalnym hoście internetowym, zalecam zakodowanie nazwy użytkownika i hasła bazy danych na stałe, aby uniknąć przekazywania ich w sposób jawny przez otwarty Internet.
(Uwaga:nie moja własna praca - skrypt pochodzi z webune.com)
<?php
###################################### C O P Y R I G H T S ####################################
# THIS SCRIPT IS DISTRIBUTED BY WEBUNE.COM UNDER LICENSE UNDER THE GPL RULES
# PLEASE DO NOT REMOVE THIS MESSAGE IN SUPPORT OF OUR HARD WORK TO CONTINUE TO PROVIDE FREE SUPPORT
###############################################################################################
# OK, HERE WE GO
# Use this varialble if you are using an installation script
$step = $_GET['step'];
if (!$step) {
$page_title = 'Form';
}
else{
$page_title = 'Test MySQL step '.$step;
}
############## BEGIN FUNCTIONS ##############################
# FUNCTION TO TEST USERNAME AND PASSWORD IN MYSQL HOST
function db_connect($server, $username, $password, $link = 'db_link') {
global $$link, $db_error;
$db_error = false;
if (!$server) {
$db_error = 'No Server selected.';
return false;
}
$$link = @mysql_connect($server, $username, $password) or $db_error = mysql_error();
return $$link;
}
# FUNCTION TO SELECT DATABASE ACCESS
function db_select_db($database) {
echo mysql_error();
return mysql_select_db($database);
}
# FUNCTION TO TEST DATABASE ACCESS
function db_test_create_db_permission($database) {
global $db_error;
$db_created = false;
$db_error = false;
if (!$database) {
$db_error = 'No Database selected.';
return false;
}
if ($db_error) {
return false;
} else {
if ([email protected]_select_db($database)) {
$db_error = mysql_error();
return false;
}else {
return true;
}
return true;
}
}
function step1 ($error) {
echo '<h1 style="color:#FF0000">'.$error.'</h1><hr>';
?>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>?step=2">
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td><div align="right">mysql hostname:</div></td>
<td><input name="server" type="text" value="<?php echo $_REQUEST['server']; ?>">
(usually "localhost" or enter IP Address of MySQL Server)</td>
</tr>
<tr>
<td><div align="right">mysql username:</div></td>
<td><input type="text" name="username" value="<?php echo $_REQUEST['username']; ?>"></td>
</tr>
<tr>
<td><div align="right">mysql username password:</div></td>
<td><input type="text" name="password" value="<?php echo $_REQUEST['password']; ?>"></td>
</tr>
<tr>
<td><div align="right">mysql database name:</div></td>
<td><input type="text" name="database" value="<?php echo $_REQUEST['database']; ?>"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?php
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Webune MYSQL TEST - <?php echo $page_title; ?></title>
</head>
<body>
<h1><?php echo $page_title; ?></h1>
<?php
############## END FUNCTIONS ##############################
switch ($step) {
case '2':
if ($_REQUEST['server']) {
$db = array();
$db['DB_SERVER'] = trim(stripslashes($_REQUEST['server']));
$db['DB_SERVER_USERNAME'] = trim(stripslashes($_REQUEST['username']));
$db['DB_SERVER_PASSWORD'] = trim(stripslashes($_REQUEST['password']));
$db['DB_DATABASE'] = trim(stripslashes($_REQUEST['database']));
$db_error = false;
db_connect($db['DB_SERVER'], $db['DB_SERVER_USERNAME'], $db['DB_SERVER_PASSWORD']);
if ($db_error == false) {
if (!db_test_create_db_permission($db['DB_DATABASE'])) {
$error = $db_error;
}
} else {
$error = $db_error;
}
if ($db_error != false) {
$error = "failed";
echo step1($db_error);
} else {
echo '<h1 style="color:green">Congratulations!</h1>
Connected Successfuly to datbase <strong>
<a href="https://www.webune.com/forums/how-to-test-mysql-database-connection.html">Continue >> </a></strong>';
}
} else {
$error = "ERROR: please provide a hostanme";
echo step1($error);
}
break;
default:
echo step1('Step 1');
break;
}
?>
<div align="center">
<img src="http://www.webune.com/images/headers/default_logo.jpg">
</div>
<div align="center">
Script Courtesy of
<a href="https://www.webune.com">Webune PHP/Mysql Hosting</a></div>
</body>
</html>