致命错误:mysqli_connect()

时间:2013-03-26 02:20:03

标签: php mysqli connect

我知道有很多论坛在讨论stackoverflow中的这个问题,但似乎没有任何帮助......试图看看是否有其他人可以帮我一把......

我安装了mysql服务器5.1并且在安装过程中没有发生错误所以我认为一切都很好,但是当我正在学习并尝试使用php并通过mysql连接时,会出现此错误信息

Fatal error: Call to undefined function mysqli_connect() in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\books.php on line 3

我的代码在这里

<?php

$db = mysqli_connect("localhost", "root", "3308") or die(mysqli_connect_error());

mysqli_select_db($db, "booksdb") or die(mysqli_error($db));

mysqli_query($db, "CREATE TABLE books(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
title VARCHAR(64) NOT NULL)") or die(mysqli_error($db));

mysqli_query($db, "INSERT INTO books(id, title) VALUES(NULL, 'the nose')") or die(mysqli_error());

mysqli_query($db, "INSERT INTO books(id, title) VALUES(NULL, 'the overcoat')") or die(mysqli_error());

mysqli_query($db, "INSERT INTO books(id, title) VALUES(NULL, 'war and peace')") or die(mysqli_error());

$result = mysqli_query($db, "SELECT id, title FROM books") or die(mysqli_error());

while($record = mysqli_fetch_assoc($result)){
    echo $record['id'];
    echo " ";
    echo $record['title'];
    echo "<hr/>";
}


?>

在我的php.ini文件中,我取消了两个

extension=php_mysql.dll
extension=php_mysqli.dll

当然重启了apache。也重新启动了谁的机器,但错误信息继续出现,我不知道如何解决它。我搜索了几个论坛,他们都要求确保扩展名未被注释。还检查了几个论坛网站,并尝试了一些。有些我不明白他们告诉我尝试的是什么,但是我尝试过的,没有一个能奏效。这里有什么想法吗?

3 个答案:

答案 0 :(得分:1)

好的,这可能是您面临的问题的替代解决方案。但不完全是答案。您需要在正确的位置添加php_mysqli.dll和其他扩展程序。您需要检查三个区域:

  1. php_mysqli.dll文件夹中存在物理文件ext
  2. 是否正确引用了目录ext
  3. 检查Apache是​​否具有该文件夹的访问权限。
  4. 检查您是否编辑了正确的文件。可能有多个php.ini个文件。

  5. 另一个简单的解决方案是安装如下所示的软件包:

    1. WAMP Server(我建议小和也可以用于直播项目
    2. XAMPP
    3. USB Web Server

答案 1 :(得分:0)

1)确保目录中存在php_mysqli.dll。 2)你的id auto_increment?如果是,那么你不必将它插入你的表。 检查你的语法。试试这个:

mysqli_query($db, "INSERT INTO books(title) VALUES('the nose')") or die(mysqli_error());

答案 2 :(得分:0)

我猜你需要安装php5-mysql

sudo apt-get install php5-mysql

然后重启你的apache服务器,它应该可以正常工作。