Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fatal error: Call to undefined function mysqli_connect() in... while connecting PHP 5.4.22 and MySQL 5.5 with Apache 2.4.7

Tags:

php

mysql

mysqli

I am trying to connect PHP 5.4.22 and MySQL 5.5 with Apache 2.4.7 as the web server. All three of these individually are working fine. However, when I try to connect PHP with MySQL I get the error:

"Fatal error: Call to undefined function mysqli_connect() in..."

db_connect.php code

$con = mysqli_connect("localhost","root","root","mylab_dev");

if (mysqli_connect_errno($con))
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$conn->close();

httpd.conf configuration:

ServerRoot "c:/Apache24"

#Listen 12.34.56.78:80
Listen 80

LoadModule php5_module "C:/php/php5apache2_4.dll" (Verified the existence of the physical file)

AddHandler application/x-httpd-php .php

DirectoryIndex index.php index.html
PHPIniDir c:/php

Modified php.ini-development file to php.ini

; extension_dir = "./"

; On windows:

extension_dir = "ext"

extension=php_mysql.dll  --> Uncommented

extension=php_mysqli.dll --> Uncommented

Set the date timezone accordingly

One thing I noticed but not sure if this is the reason, in the phpinfo() page I see the MySQL information, but I don't see anything which says mysqli(). Should I?

like image 725
CodeOn Avatar asked Mar 01 '14 15:03

CodeOn


3 Answers

First of all, make sure you are editing the correct php.ini by checking from the phpinfo().

I wrote these instructions mainly for Windows users:

Edit your php.ini.

Check whether variable extension-dir is set properly. If not, specify the correct path as per your OS.

extension_dir = "C:\Program Files\php\ext"

Un-comment these lines by removing the ; (semi-colon):

extension=php_mysql.dll
extension=php_mysqli.dll
like image 180
amresh tripathi Avatar answered Oct 22 '22 15:10

amresh tripathi


I had the same error, and I fixed it with these steps:

sudo apt-get install php5-mysql
sudo service apache2 restart
like image 29
dilbadil Avatar answered Oct 22 '22 17:10

dilbadil


This connection for PHP 5.5/MySQL seems to work for me.

$host = "localhost";
$db = "mydatabse";    // Database name
$user = "my_username"; // User
$pass = "my_passxx"; // Password

// My PHP 5.5 method of connecting to the database
$mysqli = new mysqli("$host", "$user", "$pass", "$db");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    exit();
}
like image 1
Nick Avatar answered Oct 22 '22 15:10

Nick