Skip to content

Instantly share code, notes, and snippets.

@M165437
Forked from chales/db-connect-test.php
Last active May 26, 2023 05:34
Show Gist options
  • Star 37 You must be signed in to star a gist
  • Fork 21 You must be signed in to fork a gist
  • Save M165437/421cd2d23e53a111541a483971f7368b to your computer and use it in GitHub Desktop.
Save M165437/421cd2d23e53a111541a483971f7368b to your computer and use it in GitHub Desktop.
Script for a quick PHP MySQL DB connection test.
<?php
# Fill our vars and run on cli
# $ php -f db-connect-test.php
$dbname = 'name';
$dbuser = 'user';
$dbpass = 'pass';
$dbhost = 'host';
$link = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
mysqli_select_db($link, $dbname) or die("Could not open the db '$dbname'");
$test_query = "SHOW TABLES FROM $dbname";
$result = mysqli_query($link, $test_query);
$tblCnt = 0;
while($tbl = mysqli_fetch_array($result)) {
$tblCnt++;
#echo $tbl[0]."<br />\n";
}
if (!$tblCnt) {
echo "There are no tables<br />\n";
} else {
echo "There are $tblCnt tables<br />\n";
}
@gvhconnect
Copy link

Having trouble understanding how to run the script.
I first of all moved it as "index.php" into the root apache directory... ...not sure if there's an ownership issue there?
Online the browser failed to respond, even though it's checked out with the basic script.

I then took the command as you'd hashed out in line 3, and as per below tried to run as root in the var/www directory:

root@ip-172-31-33-139:/home/ubuntu# cd /var/www
root@ip-172-31-33-139:/var/www# ls -l
total 12
-rw-rw-r-- 1 ubuntu ubuntu 678 Sep 2 19:20 db-connect-test.php
drwxrwxr-x 2 www-data www-data 4096 Sep 2 16:35 html
-rw-rw-r-- 1 ubuntu ubuntu 662 Sep 2 19:13 index.php
root@ip-172-31-33-139:/var/www# php -f db-connect-test.php
PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/db-connect-test.php:9
Stack trace:
#0 {main}
thrown in /var/www/db-connect-test.php on line 9
root@ip-172-31-33-139:/var/www# root@ip-172-31-33-139:/var/www# php -f db-connect-test.php
bash: root@ip-172-31-33-139:/var/www#: No such file or directory
root@ip-172-31-33-139:/var/www# PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/db-connect-test.php:9
bash: syntax error near unexpected token `('

I have set the variables with the correct RDS host and login credentials, which checkout from this machine using the remote mysql access, which works fine, logging in and returning the schema structure with the show databases; mysql command.

In your second line hashed out statement, you're suggesting running this under CLI. Could you please provide the syntax?

Also, as it's my goal here to understand the general rules / syntax for evaluating php scripts from this micro staging server I"m using, please do comment if what I'm trying to do is possible (ie invoking a php script in the root apache directory as "index.php" to get a browser response linked to the server's url).

Any guidance appreciated.

Thanks,

@Jacuro
Copy link

Jacuro commented Sep 13, 2018

Hi there.

Are you running this script in /var/www/ ??
Save it as db-connect-test.php in /var/www/html and try there

Regards J

@mobilewebguru
Copy link

wonderfull, thanks.

@Gzoref
Copy link

Gzoref commented Jun 13, 2019

Cool. So It said there is 1 table, and when I added another table, it updated to 2 tables. i assume this is a positive result?

@M165437
Copy link
Author

M165437 commented Jun 13, 2019

Cool. So It said there is 1 table, and when I added another table, it updated to 2 tables. i assume this is a positive result?

Correct

@HATIMEDIA
Copy link

PHP Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo failed: H�te inconnu. in C:\inetpub\wwwroot\db-connect-test.php on line 10
PHP Warning: mysqli_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: H�te inconnu. in C:\inetpub\wwwroot\db-connect-test.php on line 10

@chatelao
Copy link

chatelao commented Jan 3, 2020

If you send me the working fix as pull-request, I could include it into the repository and publish an updated version on SF:

@dinushkarukshan
Copy link

Thank you!

@ModeratorPS
Copy link

I have tested the script and the connection works well.
But, I got following error: There are no tables

Any idea why?

I have only one table, but this one should be shown.
Bildschirmfoto 2022-04-11 um 20 57 18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment