【发布时间】:2014-03-30 15:11:27
【问题描述】:
所以我安装了 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("127.0.0.1:3306", "userMan", "passDoor") 或 死(mysql_error());
告诉我:
致命错误:调用未定义的函数 mysql_connect() C:\wamp\www\website\db_connect.php 在第 32 行
它以前工作,但现在“突然”停止工作,有什么想法吗?
更新:
我尝试使用 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!';
}
我的结果是“我们没有 mysqli!!!”。
我在 windows 8.1 上运行 wamp,php 是 5.4.12 版本,我还检查了 php.ini 中的 extension_dir 是否正确。
我可能做错了什么?
【问题讨论】:
-
请停止使用
mysql_*函数。它们已被弃用。 -
我更新了关于尝试使用 mysqli 的问题。
-
我通过卸载 wamp 并手动安装 apache + php 解决了这个问题。