Home >Backend Development >PHP Tutorial >Summary of solutions to the problem that php cannot connect to mysql_PHP tutorial

Summary of solutions to the problem that php cannot connect to mysql_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:56:251069browse

This article summarizes and shares some solutions to some problems that may often be encountered in PHP development when PHP cannot connect to the MySQL database. Friends in need can refer to it.

Question 1

I installed mysql and php on my notebook today, and everything was installed normally (php@IIS7.5-fastCGI). However, when using phpmyadmin to connect and test, an error of "#2002 Unable to connect" appears. The same problem occurs when using other programs.
After checking, the mysql extension of php is installed correctly and the mysql service starts normally--that's strange. I used navicat to connect again and it was connected. . It seems that there is a problem with the communication between php and mysql.
After searching on Baidu, the problem was found:
The mysql_connect() function database server parameter is currently set to localhost, but it can be accessed normally after it is changed to 127.0.0.1.
The system hosts file does not provide resolution from 127.0.0.1 to localhost.

Solution (taking win7 system as an example): Find the C:\Windows\System32\drivers\etc\hosts file. The default is read-only. You need to copy a copy to another path such as the desktop. Open the file (Open with: Notepad) and add:

at the end of the file

127.0.0.1 localhost

If it already exists, remove the "#" in front of it.

Question 2


PHP scripts can run normally, such as phpinfo().

As soon as the "mysql_connect" function appears, there will be no response and no error will be reported.

Such as $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL database connection failed:".mysql_error());

appears in the apache log directory error.log

PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'

Solution

Copy "libmysql.dll" to the bin directory of apache. Then restart and observe the error.log. If the error disappears, congratulations.

Another: Online information also says to copy ""libmysql.dll"" and "php_mysql.dll" to windows/system32.


Question 3

LoadModule php5_module "D:/ccopen/php5/php5apache2_2.dll" AddType application/x-httpd-php .php
The code is as follows
 代码如下 复制代码
$link_id=@mysql_connect( "localhost ", "sampadm ", "secret ");
//以下代码省略
?>
Copy code


$link_id=@mysql_connect( "localhost ", "sampadm ", "secret ");

//The following code is omitted ?>

The following prompt appears when running:

fatal error: call to undefined function mysql_connect() in var/www/html/mytest.php

Solution



1.php.ini

extension_dir is set to "d:\apache2\php\ext" absolute path, otherwise errors will occur in some environments.

Open the following two lines of function extensions

extension=php_mysql.dll
extension=php_mysqli.dll

2. Copy libmysql.dll (under the php directory) and php_mysql.dll (under the php/ext directory) to the c:\windows\system32 directory (libmysql.dll must be in the php directory, for example, mine is D:\apache2\ libmysql.dll in the php directory, php_mysql.dll is in D:\apache2\php\ext)

3. Test,

1> Open the command line first

A) Click the "Start" menu-> "mysql"-> "mysql5 server"-> "MySQL Command Line Client"
//If this step is successful, mysql security is successful. If it fails, the mysql installation fails. Please uninstall and reinstall

B) Enter password
//If this step is normal, it means that the password of the root account is correct. If it fails, the account password is incorrect

2> Create a new file in the home directory and save it as testmysql.php, then enter http://localhost/testmysql.php (or http://localhost:81/testmysql.php) in the browser


If not, check if apache has loaded the php and mysql methods


To support php5 in apache, add the following three lines to the httpd.conf file

PHPIniDir "D:/ccopen/php5/"
Remove the following two lines of semicolons in php.ini extension=php_mysql.dll extension=php_mysqli.dll Copy php_mysql.dll and libmysql.dll to system32 Restart the apache server

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632173.htmlTechArticleThis article summarizes some problems that you may often encounter in PHP development and that PHP cannot connect to the MySQL database. Share the solution with friends who need it for reference. Question 1...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn