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:-
lastly XAMMP is running here's the proof
For those who came here looking for the answer and didnt type 3306 wrong...If like myself, you have wasted hours with no luck searching for this answer, then possibly this may help.
If you are seeing this: (HY000/2002): No connection could be made because the target machine actively refused it
Then my understanding is that it cant connect for one of the following below. Now which..
1) is your wamp, mamp, etc icon GREEN? Either way, right-click the icon --> click tools --> test both the port used for Apache (typically 80) and for Mariadb (3307?). Should say 'It is correct' for both.
2) Error comes from a .php file. So, check your dbconnect.php.
Is your setup correct? Does your user exist? Do they have rights? Does port match the tested port in 1)? Doesn't have to be 3307 and user can be root. You can also left click the green icon --> click MariaDB and view used port as shown in the image below. All good? Positive? ok!
3) Error comes when you login to phpmyadmin. So, check your my.ini.
Open my.ini by left clicking the green icon --> click MariaDB -->
Make sure the ports match the port MariaDB is being testing on. Then finally..
At the bottom of my.ini, make sure this port matches as well.
4) 1-3 done? restart your WAMP and cross your fingers!
In your PHP code you have set the incorrect port, this is what the code should be
The port in your code is set to
3360
when it should be3306
, however as this is the default port, you don't need to specify.In most of cases it is data log problem. Follow the steps.
i) Go to data folder of mysql. For xampp go to C:\xampp\mysql\data.
ii) Look for log file name like ib_logfile0 and ib_logfile1.
iii) Create backup and delete those files.
iv) Restart apache and mysql.
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)
If you look at your XAMPP Control Panel, it's clearly stated that the port to the MySQL server is
3306
- you provided3360
. The3306
is default, and thus doesn't need to be specified. Even so, the 5th parameter ofmysqli_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
References
mysqli_connect()