-1

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

我安装了 mysql server 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。也重新启动了who机器,但该错误消息不断出现,我不知道如何修复它。我搜索了几个论坛,他们都要求确保扩展名没有被注释掉。还检查了几个论坛站点并尝试了一些。有些我不明白他们告诉我要尝试什么,但我尝试过的那个,没有一个奏效。这里有什么想法吗?

4

3 回答 3

1

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

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

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

  1. WAMP 服务器(我建议将其用于小型项目,也可能用于实时项目
  2. XAMPP
  3. USB 网络服务器
于 2013-03-26T02:24:18.857 回答
0

我猜你需要安装php5-mysql.

sudo apt-get install php5-mysql

并重新启动您的 apache 服务器,它应该可以正常工作。

于 2014-09-02T12:14:37.923 回答
0

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

mysqli_query($db, "INSERT INTO books(title) VALUES('the nose')") or die(mysqli_error());
于 2013-03-26T02:26:38.363 回答