Eclipse:" PHP致命错误:调用未定义的函数mysqli_connect()"

时间:2016-03-23 00:36:30

标签: php mysql eclipse apache ubuntu

我有一个php脚本(machine_db.php),它连接到mysql数据库,如下所示:

<?php
//phpinfo();
// 1    connect to mysql
$servername = "localhost";
$username = "root";
$password = "abcd";
$conn = mysqli_connect($servername, $username, $password);
...
?>

我正在使用:

  • 服务器版本:Apache / 2.4.12(Ubuntu)
  • PHP 5.6.11
  • mysql Ver 14.14 Distrib 5.6.28

我正在使用Eclipse Mars,我为Eclipse安装了PHP软件包(addin或其他任何名称)。然后我创建了一个php项目并将我的php文件添加到项目中并且作为php cli应用程序运行但是我在Eclipse控制台中收到以下错误,

PHP Fatal error:  Call to undefined function mysqli_connect()   

但是当我从终端运行完全相同的脚本时,我不会收到任何错误:

php machine_db.php

我还看到在Eclipse项目资源管理器中有一个包含mysqli类的PHP语言库。

2 个答案:

答案 0 :(得分:0)

我想你忘记了db名称:

$servername = "localhost";
$username = "root";
$password = "abcd";
$db_name = "my-db";
$conn = mysqli_connect($servername, $username, $password, $db_name);

您也可以使用

$conn = new mysqli($servername, $username, $password, $db_name);

文档:http://php.net/manual/fr/mysqli.construct.php

还尝试安装php5-mysqli

sudo apt-get update
sudo apt-get install php5-mysql php5-mysqli
sudo service apache2 restart

别忘了在/etc/php5/apache2/php.ini中取消注释这一行

extension=php_mysql.so
extension=php_mysqli.so

别忘了重启apache服务器

  sudo service apache2 restart

答案 1 :(得分:0)

我刚才意识到如果在日食中我检查&#34; use system default php.ini&#34;在window->preferences->php->phpexecutables下,它会神奇地发挥作用。

有谁知道什么是&#34;系统默认php.ini&#34;?

我快速$php --ini并返回:

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/05-opcache.ini,
/etc/php5/cli/conf.d/10-mysqlnd.ini,
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-json.ini,
/etc/php5/cli/conf.d/20-mysql.ini,
/etc/php5/cli/conf.d/20-mysqli.ini,
/etc/php5/cli/conf.d/20-pdo_mysql.ini,
/etc/php5/cli/conf.d/20-readline.ini