Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:phpstudy_proWWWsqli-
报错解释:
这个错误表明你的代码尝试调用一个未定义的函数 mysql_connect()
。mysql_connect()
是 PHP 旧版中用于连接 MySQL 数据库的函数,在 PHP 7.0.0 版本以后已被废弃,并且在 PHP 8.0.0 版本中完全移除。
解决方法:
- 如果你使用的是 PHP 5.x 版本,请升级到 PHP 7.x 或 PHP 8.x,并使用
mysqli
或PDO
替代mysql
函数。 - 修改代码,使用
mysqli_connect()
或PDO
连接数据库。
例如,使用 mysqli_connect()
替换 mysql_connect()
:
// 旧的 mysql_connect() 用法
// $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
// mysql_select_db('database', $link);
// 使用 mysqli_connect() 替换
$link = mysqli_connect('localhost', 'mysql_user', 'mysql_password', 'database');
// 确保连接成功
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
或者使用 PDO:
// 旧的 mysql_connect() 用法
// $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
// mysql_select_db('database', $link);
// 使用 PDO 替换
try {
$pdo = new PDO("mysql:host=localhost;dbname=database", 'mysql_user', 'mysql_password');
// 设置 PDO 错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
请确保在迁移过程中测试你的应用程序以确保没有其他兼容性问题。
评论已关闭