Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mysqli_connect(): (HY000/2002): No connection could be made because the target machine actively refused it

Tags:

php

xampp

mysqli

I know there are many questions like this, but i didn't find any solution in it.

Things i tried:-

  • checked firewall

  • restarted my PC and Apache server

  • restarted MYSQL

  • checked my code

  • Tried everything i know and found on internet

here's my code:-

<?php

$dbhost = 'localhost:3360';
$dbuser = 'root';
$dbpass = '';
$db     = 'test_db13';


$conn  = mysqli_connect($dbhost,$dbuser,'',$db);

if(! $conn){
  die('Could not connect connect: ') ;
}

echo 'Successfully Connected';


$sql = 'Connected Successfully';
  $retvalue = mysqli_query($sql);

  if(! $retvalue){
    die('Cannot connect to SQL: ');
  }

echo 'DataBase test_db13 has successfully created';

mysqli_close($conn);

 ?>

I did set the password, but it still is showing me the error.

Here's the firewall picture:- enter image description here

lastly XAMMP is running here's the proof

enter image description here

like image 857
Sami Avatar asked Oct 01 '16 18:10

Sami


People also ask

How do you fix no connection could be made because the target machine actively refused it?

You can try below solution: You might have a firewall rule in the way, or are trying to run it through a proxy without having the proxy up and running. The easiest way to check would be to disable your firewall or proxy and try again. Disable proxy at web.

Could not connect to MySQL no connection could be made because the target machine actively refused it?

“No connection could be made because the target machine actively refused it.” Generally, it happens that something is preventing a connection to the port or hostname. Either there is a firewall blocking the connection or the process that is hosting the service is not listening on that specific port.

Which Mysqli command is used to open the database connection?

The connect() / mysqli_connect() function opens a new connection to the MySQL server.


3 Answers

If you look at your XAMPP Control Panel, it's clearly stated that the port to the MySQL server is 3306 - you provided 3360. The 3306 is default, and thus doesn't need to be specified. Even so, the 5th parameter of mysqli_connect() is the port, which is where it should be specified.

You could just remove the port specification altogether, as you're using the default port, making it

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db     = 'test_db13';

References

  • mysqli_connect()
  • Standard connection of MySQL
like image 69
Qirel Avatar answered Nov 08 '22 12:11

Qirel


You have entered wrong port number 3360 instead of 3306. You dont need to write database port number if you are using daefault (3306 in case of MySQL)

like image 21
dy'sback Avatar answered Nov 08 '22 13:11

dy'sback


It is just a matter of changing the port user by mysql:3308 to 3306

Just right click on wamp-> select tools

under Port Used By mysql:3308 clcik on "use a port other than 3308

In the text port text box appear : type 3306 and save. Wait until the wampserver restarts and get green.

Now run your PHP code, It will work. That's it - Good Luck

like image 44
Manoj Perera Avatar answered Nov 08 '22 13:11

Manoj Perera