2013-03-26 172 views
-1

我知道有相当多的论坛在那里谈论这个问题在stackoverflow但似乎没有帮助,所以....试图看看是否有其他人可以给我一只手...致命错误:mysqli_connect()

我安装的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

你在正确的位置有文件php_mysqli.dll吗? – 2013-03-26 02:21:20

+0

请运行'<?php echo'ini:',get_cfg_var('cfg_file_path');'验证你编辑了正确的ini文件。 – VolkerK 2013-03-26 02:24:17

回答

1

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

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

另一种简单的解决办法是安装包像那些如下:

  1. WAMP Server(我建议这对小和也可能是活的项目
  2. XAMPP
  3. USB Web Server
0

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

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

我想你需要安装php5-mysql

sudo apt-get install php5-mysql 

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