php没有连接到mysql数据库

时间:2014-03-30 15:11:27

标签: php mysql mysqli

所以我安装了WAMP和一个mysql数据库(不使用wamp附带的数据库)。我可以从MySql Workbench连接到服务器,但不能从php页面连接。它们都在同一台机器上,脚本如下所示:

<?php

/**
 * A class file to connect to database
 */
class DB_CONNECT
{

    // constructor
    function __construct()
    {
        // connecting to database
        $this->connect();
    }

    // destructor
    function __destruct()
    {
        // closing db connection
        $this->close();
    }

    /**
     * Function to connect with database
     */
    function connect()
    {
        // Connecting to mysql database
        $con = mysql_connect("127.0.0.1:3306", "userMan", "passDoor") or die(mysql_error());

        // Selecing database
        $db = mysql_select_db("testdb") or die(mysql_error());

        // returing connection cursor
        return $con;
    }

    /**
     * Function to close db connection
     */
    function close()
    {
        // closing db connection
        mysql_close();
    }
}

?>

这一行:

  

$ con = mysql_connect(&#34; 127.0.0.1:3306&#34;,&#34; userMan&#34;,&#34; passDoor&#34;)或   死亡(mysql_error());

告诉我:

  

致命错误:调用未定义的函数mysql_connect()   第32行的C:\ wamp \ www \ website \ db_connect.php

之前有效,但现在&#34;突然&#34;它停止了工作,有什么想法?

更新

我尝试使用mysqli,因为不推荐使用mysql_ *,所以我这样做了:

我发现从phpinfo()中使用了hte php.ini并确保它们未被注释:

extension=php_mysql.dll
extension=php_mysqli.dll

我也尝试过评论php_mysql.dll,

我将它添加到我的php脚本中以查看它是否有效:

if (!function_exists('mysqli_init') && !extension_loaded('mysqli'))
        {
            echo 'We don\'t have mysqli!!!';
        }
        else
        {
            echo 'Phew we have it!';
        }

我的结果是&#34;我们没有mysqli !!!&#34;。

我在Windows 8.1上运行wamp,php是版本5.4.12,我还检查了php.ini中的extension_dir是否正确。

我可能做错了什么?

1 个答案:

答案 0 :(得分:2)

未加载您的mysql驱动程序。在extension=php_mysql.dll中取消注释php.ini。另外,我建议您使用mysqliPDO。您正在使用已弃用的。

要查找php.ini位置,您可以在命令行中使用php --ini