我有一个php脚本(machine_db.php),它连接到mysql数据库,如下所示:
<?php
//phpinfo();
// 1 connect to mysql
$servername = "localhost";
$username = "root";
$password = "abcd";
$conn = mysqli_connect($servername, $username, $password);
...
?>
我正在使用:
我正在使用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语言库。
答案 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