我已经浏览了整个互联网试图解决这个问题,但我无法找到问题的解决方案,所以我为可能写一个重复的问题道歉。
我正在尝试将我的本地站点链接到我的计算机上的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,这是非常新的,所以我可能只是没有安装任何东西。这段代码在我的服务器上工作正常,因此它必须与我的计算机有关,而不是代码。
答案 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
答案 1 :(得分:2)
未在新服务器中安装mysqli php扩展程序。 您需要安装或启用或联系您的服务器管理员。
答案 2 :(得分:2)
是的,您似乎缺少php扩展,请与您的服务器管理员联系。
答案 3 :(得分:1)
只需在你的bash中运行:
sudo aptitude install php5-mysql
sudo service apache2 restart