Back to Top

How to connect to MySQL database using PHP

MySQL Connection: Let be Expert

Originally I wrote a post about 1 year ago when I discovered some problems happened with me because of the MySQL connection fails. Now I have more experience with PHP/MySQL.I have decided to visit this topic to connect to MySQL database using PHP.

Let’s start to see one by one

$adminEmail = "";
$adminSMS = "";

You should use mysql_pconnect instead of mysql_connect because,mysql_pconnect() acts very much like mysql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that’s already open with the same host, username, and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mysql_close() will not close links established by mysql_pconnect()).

This type of link is therefore called ‘persistent’.

	$link = @mysql_pconnect('localhost', 'username', 'password');

You should suppress the error message on failure by prepending a @ to the function name.

if (!$link) {
	$criticalError = "MySQL Server Connection Could not be Established";
	CustomCriticalError($criticalError);
}
$db_selected = @mysql_select_db('database', $link);

You should suppress the error message on failure by prepending a @ to the function name.

if (!$db_selected) {
	$criticalError = "MySQL Database Could not be Connected";
	CustomCriticalError($criticalError);
}

Above code is for if any error occurs while the connection is executing and here, I have called one function CustomCriticalError. Let’s see how function works!!

//Error Handling Custom Function
function CustomCriticalError($errMsg){
	//print "I am in Custom CriticalError function with $errMsg";
	// Write Page Name, Time & Mysql Error -mysql_error()  in a Log File
	$pagename = $_SERVER['PHP_SELF'];
	$daytime = date("l jS F Y h:i:s A");
	$mysqlerror = mysql_error();
	$errorLine = $pagename.",".$daytime.",".$mysqlerror;
	$logfilepath = realpath(".");
	$logfile = $logfilepath.'/mylog.txt';
	$somecontent = $errorLine."\n";
	// Let's make sure the file exists and is writable first.
	if (file_exists($logfile)) {
	//File Exist Here
		if (!$handle = fopen($logfile, 'a')) {
		//Log file could not be opened
		//Send Email & SMS
		$sendmail = @mail($adminEmail,"Critical Error & LogFile Open Failed"
		,"Critical Error: $errorLine");
		// Send SMS if Email was not able to sent
		if(!$sendmail){
		// SMS Sending Code
			}
		// SMS Sending Code
		}
	}
	  else{
	  //Log file does not exist
	  $handle = @fopen($logfile, 'w');
	   }
	  // Write $somecontent to our opened file.
		if (@fwrite($handle, $somecontent) === FALSE) {
		//Send Email & SMS
		//Could not write to log file;
		$sendmail = @mail($adminEmail,"Critical Error & LogFile Write Failed",
		"Critical Error: $errorLine");
			// SMS Sending Code
			// Send SMS if Email was not able to sent
			if(!$sendmail){
			}
			// SMS Sending Code
		}
		@fclose($handle);
		// Generate Email to Admin User
		$sendmail = @mail($adminEmail,"Critical Error","Critical Error: $errorLine");
		if(!$sendmail){
			// Send SMS if Email was not able to sent
  	}
	// Generate instant SMS to Admin User
	// Show Some Friendly Message Page with Error Message Variable - $errMsg
	//print $errMsg;
	// We stop loading the page because there is no meanning in going further without
	// database connection or database
	exit;
}

Here, In above function CustomCriticalError, I have logged the error in the file and also to send E-mail and SMS if the connection fails.I have explained all the codes in a comment.

I hope you have enjoyed the concept of MySQL connection.Thanks for reading and feel free to share your thoughts, don’t Forget to Follow us on Twitter or Subscribe us to Get the Latest Updates.

Comments (1)

  1. […] explaining such assured and flexible MySQL Connection which logs error in Email and SMS you want.I am going to explain how you can take backup of […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Most Popular Posts

The Readers’ Poll – September 2012

Posted on 6 years ago

Bhumi

How to get Current URL in WordPress?

Posted on 5 years ago

Bhumi

The Reader’s Poll – June 2015

Posted on 3 years ago

Bhumi

The Reader’s Poll – August 2014

Posted on 4 years ago

Bhumi

The Reader’s Poll – June 2014

Posted on 5 years ago

Bhumi

The Readers’ Poll – May 2014

Posted on 5 years ago

Bhumi

The Readers’ Poll – August 2013

Posted on 5 years ago

Bhumi