Reputation: 91
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..."
$con = mysqli_connect("localhost","root","root","mylab_dev");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$conn->close();
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?
Upvotes: 8
Views: 34189
Reputation: 5389
This will remove and replace the default PHP 5.5.9 packages that come with Ubuntu 14.04 with the versions from the ppa.
sudo aptitude install pkg-php-tools php5.6 php5.6-cgi php5.6-cli php5.6-dbg php5.6-common php5.6-curl php5.6-gd php5.6-imap php5.6-intl php5.6-mysql php5.6-pspell php5.6-sqlite3 php5.6-tidy php5.6-opcache php5.6-json php5.6-bz2 php5.6-mcrypt php5.6-readline php5.6-xmlrpc php5.6-enchant php5.6-xsl php-all-dev php7.0 php7.0-cgi php7.0-cli php7.0-common php7.0-dbg php7.0-curl php7.0-enchant php7.0-gd php7.0-imap php7.0-intl php7.0-ldap php7.0-mcrypt php7.0-readline php7.0-pspell php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-json php7.0-sqlite3 php7.0-mysql php7.0-opcache php7.0-bz2 libapache2-mod-php7.0
Upvotes: 0
Reputation: 133
Find the path for php.ini by checking from the phpinfo(). Copy the php.ini file to the address shown in path.
Upvotes: 0
Reputation: 19
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();
}
Upvotes: 1
Reputation: 131
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
Upvotes: 4
Reputation: 316
I had the same error, and I fixed it with these steps:
sudo apt-get install php5-mysql
sudo service apache2 restart
Upvotes: 2