?
Solved

PHP cannot connect to MySQL // Connecting to 3.22, 3.23 & 4.0 servers is not supported

Posted on 2013-11-05
9
Medium Priority
?
4,702 Views
Last Modified: 2013-11-06
Hi,

i've got some problems connecting our MySQL Server with PHP.
We are using PHP 5.3.20 ans MySQL 5.5.14

Everytime I try to connect to the mysql server I recieve the error message

"Connecting to 3.22, 3.23 & 4.0 servers is not supported"

As I said, we are running Version 5.5.14, so I can't unterstand whats the problem.

I already deleted and readded the Database and the Databaseuser.
If I switch back the PHP Version to 4.40 everything works fine.

Can somebody please help?
0
Comment
Question by:opticom
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39624854
Can you post your PHP script that you use to connect
0
 
LVL 111

Expert Comment

by:Ray Paseur
ID: 39624901
Please show us the complete error message, including the line numbers.  And show us the lines of PHP code.

And don't switch PHP back to Version 4.  PHP 5+ has been current for several years.
0
 

Author Comment

by:opticom
ID: 39625002
That's the only error message i get (with mysql_error)

That's the include code for all pages

<?php

$mysqlhost='xxx.xxx.xxx.xxx';
$mysqluser='frsdf.81';
$mysqlpwd='xxxxx'; 
$mysqldb='fwde';  

$connection = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die (mysql_error()); 

mysql_query("SET NAMES 'utf8'");
mysql_select_db($mysqldb, $connection) or die("Cannot connect database"); 

?>

Open in new window


In thats the way I open the database table in the index.php:

$sql_estz = "SELECT * FROM estz WHERE E_ID=$E_ID";
$estz_query = mysql_query($sql_estz) or die("Error );

Open in new window

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39625027
It sounds like you have the MySQL driver leftover from PHP 4.4 because that's what causes that error message.  When you install PHP 5.xxx, it should COMPLETELY replace all of the code from PHP 4.4.  When I have upgraded PHP on my Windows machine, I rename the existing directory and put the new code in a different folder.  In addition,  you may have to go into your IIS setup and unclick 'Cache ISAPI applications' which is on the Home Directory tab under Configuration.  Then restart IIS at least once and maybe twice so it will read the new version of PHP.
0
 
LVL 43

Accepted Solution

by:
Chris Stanyon earned 400 total points
ID: 39625116
You need to be stepping away from using the mysql library and switch to either mySQLi or PDO. This is how you'd connect using PDO:

<?php
$mysqlhost='xxx.xxx.xxx.xxx';
$mysqluser='frsdf.81';
$mysqlpwd='xxxxx'; 
$mysqldb='fwde';  

try {
   $dbh = new PDO('mysql:host=$mysqlhost;dbname=$mysqldb', $mysqluser, $mysqlpwd);
} catch (PDOException $e) {
   echo $e->getMessage();
   exit;
}
?>

Open in new window

Ray's written a great article on this here:

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_11177-PHP-MySQL-Deprecated-as-of-PHP-5-5-0.html
0
 
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 400 total points
ID: 39625216
The MySQLi connection object gives you a lot more information.  It may be necessary for you to reinstall a current version of MySQL (at least temporarily until you can upgrade to MySQLi or PDO).  MySQL is no longer bundled with PHP and has to be installed separately.  This is a change from PHP 4x.
http://php.net/manual/en/mysql.requirements.php
http://php.net/manual/en/mysql.installation.php
0
 

Author Closing Comment

by:opticom
ID: 39627732
Hi,

I changed to MySQLi and everything works great.
No more errors...

Maybe later I'll have a look on PDO - sounds interesting - but at the moment MySQLi solves the problem for me...

Thank you
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39627756
If MySQLi works for you then stick with it. PDO is just an alternative - not necessarily better or worse (although I do like named parameters available in PDO)
0
 
LVL 111

Expert Comment

by:Ray Paseur
ID: 39627784
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
This post looks at MongoDB and MySQL, and covers high-level MongoDB strengths, weaknesses, features, and uses from the perspective of an SQL user.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question