我知道有很多论坛在讨论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。也重新启动了谁的机器,但错误信息继续出现,我不知道如何解决它。我搜索了几个论坛,他们都要求确保扩展名未被注释。还检查了几个论坛网站,并尝试了一些。有些我不明白他们告诉我尝试的是什么,但是我尝试过的,没有一个能奏效。这里有什么想法吗?
答案 0 :(得分:1)
好的,这可能是您面临的问题的替代解决方案。但不完全是答案。您需要在正确的位置添加php_mysqli.dll
和其他扩展程序。您需要检查三个区域:
php_mysqli.dll
文件夹中存在物理文件ext
。ext
。php.ini
个文件。另一个简单的解决方案是安装如下所示的软件包:
答案 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服务器,它应该可以正常工作。