mysqli_connect()上的PHP致命错误;

时间:2015-02-27 04:39:13

标签: php mysql linux ubuntu mysqli

我已经浏览了整个互联网试图解决这个问题,但我无法找到问题的解决方案,所以我为可能写一个重复的问题道歉。

我正在尝试将我的本地站点链接到我的计算机上的mysql。每次我运行此代码:

<?php
        ini_set('display_errors',1);
        ob_start();

        $host = "localhost";
        $user = "root";
        $pass = "[PASSWORD]";
        $db = "[DB]";

        $connection = mysqli_connect($host, $user, $pass, $db) or die("Cannot connect to database.");

        $username = $_POST['username'];
        $password = $_POST['password'];

        $result = mysqli_query($connection, "SELECT * FROM user WHERE username = '" . $username . "' AND password = '" . $password . "';");

        if ($row = mysqli_fetch_array($result)) {
                session_start();
                $_SESSION['id'] = $row['id'];
                $_SESSION['username'] = $username;
                $_SESSION['email'] = $row['email'];
                $_SESSION['profilePic'] = $row['profilePic'];
                header("Location: home.php");
        }
        else {
                print "Wrong Login. <a href='landing.php'>Go Back</a>.";
        }

        ob_flush();
?>

我总是收到这条消息:

  

致命错误:调用未定义的函数mysqli_connect()   第10行的/var/www/html/tts/checklogin.php

您可以假设,checklogin.php是此问题上显示的文件。

我在我的电脑上运行Ubuntu 14.04 LTS,这是非常新的,所以我可能只是没有安装任何东西。这段代码在我的服务器上工作正常,因此它必须与我的计算机有关,而不是代码。

4 个答案:

答案 0 :(得分:2)

你的服务器上没有安装mysqli php扩展你需要启用mysqli php扩展

sudo apt-get install php5-mysql

然后添加

extension=mysqli.so

在你的php.ini中,重新启动apache,它应该可以工作。

ubuntu https://askubuntu.com/questions/157684/mysqli-for-php-in-package-mysql

也遵循: - Extension mysqli is missing, phpmyadmin doesn't work

答案 1 :(得分:2)

  

未在新服务器中安装mysqli php扩展程序。   您需要安装或启用或联系您的服务器管理员。

答案 2 :(得分:2)

是的,您似乎缺少php扩展,请与您的服务器管理员联系。

答案 3 :(得分:1)

只需在你的bash中运行:

sudo aptitude install php5-mysql
sudo service apache2 restart