Simple PHP Mysql Connection Test Script Tutorial Guide | Wallpaperama Forums

Forums » MySQL » Simple PHP Mysql Connection Test Script Tutorial Guide
this page shows you how you can test your MySQL database using a simple script using PHP and HTML. also shows a video with step by step
as a php programmer, sometimes you need to create scripts with an install for the installation of the script. and you want to test the mysql database connection before you install it. today i was writing a script and i wanted to take the user through the installation process and one of the steps was to test the mysql database connections, if the connections fails, then the user is prompted to enter the database details again, if its successful, then it continues with the next step in the instalation process. so you can use this:

you have two options:

OPTION 1 - IF you dont want to create the files yourself, Webune has provided the full script, you can download the .zip file by going to this post: How To Test Mysql Database Connection



OPTION 2 - You can follow the steps below to create the script yourself:



1. first step is to copy and paste the following code into your texteditor. if you are using windows, you can use notepad.

PHPCODE: [ testmysql.php ]
<?php
ini_set('display_errors', 1); // DISPLAY ANY ERRORRS ON SCRIPT
###################################### 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 (!@db_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 &quot;localhost&quot; 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="http://www.webune.com/forums/how-to-test-mysql-database-connection.html">Continue &gt;&gt; </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="http://www.webune.com">Webune PHP/Mysql Hosting</a></div>
</body>
</html>



2. save the file as testmysql.php and upload to your website. NOTE: you must have php and mysql for this sample script to work

3. now open testmysql.php with your browser ( http://www.example.com/testmysql.php ), you will see if it fails or if it is able to connect successfuly

hope this helps

UPDATE: 12/19/2012 Thanks for your comments. I see that some of you have had trouble with the code. I have tested it again and it works ok on my apache server using XAMPP on my windows 7 laptop. So I created a short video to show you as proof that it works.

jj
i got a syntax error on line 76
wallpaperama
make sure you have php mysql in your website. check with your host.
Can
thank u so much. nice work. it really helped me.
Scott
thanks for posting this script. it is nice to have a quick confirmation that i have the access needed with a quick test.
vinoth
ya i worked out that coding. but i want the sample codings for all the type of web form development.so please send me all the codings to develop the applications.in this coding also very useful for me...so please help me. i'm also a web developer.
Michel
cool i am just starting with php and mysql and this is a great encouragement to see the words congratulations
thank you hostman
naresh
hai this is naresh
i am doing mca
this database code is so useful
i am very happy......

http://wallpaperama.com/forums/simple-php-mysql-connection-test-script-example-t5702.html
mavix
it showed me it:
parse error: parse error in c:\program files\easyphp5.3.0\www\test_mysq on line 81

keith
i also get parse error on line 81 ... please fix

thx,
keith
CodeViewer
for test codes see codeviews
Abe
hi guys. i also get "install step 2" as the response.

does anyone know how to resolve that?

whie the php script works it would be useful if the author included the potential outcomes and how to rectify things if you don't get a "congratulations" (after all, i think may of us look here because we're not nec connecting successfully).

thanks.
an
access denied for user 'john' at 'localhost' (using password: yes)

i always got this massage.... need help...
wallpaperama
this mean you have the wrong credentials check to make sure you have the correct username and password.

also try using your local ip, for example 127.0.0.1 instead of localhost
bobv
it's cool! i was looking for sqlite but what i saw is mysql. i was getting impatient with my problem with mysql so i wss trying to migrate to sqlite. anyway, my connection to mysql according to this website is okay. so, i figured out why i cannot connect. so what i did was changed "localhost" to "127.0.0.1" and it worked! what's the difference between the two?
mihajlo
tnx 4 the code/script i hope it will be some help
victor
smart a good script to study and easy to get, kp it up,cheerz!
Thom
I get step 2 message not congratulations, how can I fix this?
PHP not working with mysql but mysql works and other php scripts work.
Bala
Hi its working properly... Nice article.... Its very useful who are learning PHP Basic... Please post like this type of article...
James
Ok, I've run the script, and I get to the second page.

It says "Test MySQL step 2" and nothing else.

I imagine it's supposed to say something like Congrats you've connected! or something like that.

How do I go about rectifying this situation?
wallpaperama
you probably are getting an error, but you may have display_errors = Off

make sure you can display php errors, otherwise, you will never know if your scripts fails or not
Oh great tutorial!!! It’s help me a lot.
Also php-example helps me to learn PHP, MySQL & CakePHP with ready made code examples.

Kelly
Web Developer, University of Technology, Sydney, Australia
Colin
Very handy - it helped me a lot, thanks!
anonymous
no so simple...
Nixon
Very usefull! Thank you!
binaryman
Thank you, I have been trying to figure this out for a bit while manually setting up Apache, php, MySQL and now moving on to phpMyAdmin does anyone have a good newbie reference for a home web-server phpMyAdmin guide?
Max
excellent. work like charm.
Scott
Great post. Here’s a tool that lets you build your online database in minutes, without coding casp
msuding
There are 2 small non-critical spelling mistakes in the code on line 115 "Connected Successfuly to datbase" second "l" needed in "successfully" and "a" missing in "database"
wallpaperama
Thanks, Sorry about my bad spelling. I have Corrected

From:
Connected Successfuly to datbase

To:Connected Successfully to database
Code
Your code throws errors on several lines while starting/stopping apache.
Title: Simple PHP Mysql Connection Test Script Tutorial Guide | Wallpaperama Forums [886]
Tags: simple php mysql connection test script example