我已在PC上启用XAMPP,MySQL和Apache的网站。我收到此致命错误。我已经设置了配置文件,并正确遵循了自述文件。但是我似乎无法找到问题所在。在配置文件中正确设置了数据库,并将.sql上传到phpmyadmin。
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\includes\global.php:29 Stack trace: #0 C:\xampp\htdocs\includes\global.php(107): db_connection() #1 C:\xampp\htdocs\admin\index.php(9): include_once('C:\\xampp\\htdocs...') #2 {main} thrown in C:\xampp\htdocs\includes\global.php on line 29
global.php中的26-33行
function db_connection()
{
global $config,$data_sql;
$data_sql = mysql_connect($config["sql_host"], $config["sql_user"], $config["sql_pass"]);
if (!$data_sql) die("Can't connect to MySql");
mysql_select_db($config["db_name"],$data_sql) or die("Can't select database");
}
function db_close()
答案 0 :(得分:0)
据我所知,从php 7+开始,mysql_connect已贬值。尝试使用PDO或mysqli更为安全,如果您运行的是旧版php,尝试使用 mysql_connect 时,人们会大喊大叫。快速的Google搜索会在php文档中找到此报价。
警告 此扩展在PHP 5.5.0中已弃用,在PHP 7.0.0中已删除。相反,应使用MySQLi或PDO_MySQL扩展名。
为回应您的评论,这是与数据库的典型连接的PDO示例
<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "root";
$dbname = "dbname";
try{
$pdo = new PDO("mysql:host=$servername;dbname=$dbname",$dbusername,
$dbpassword);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
print "Error! Unable to connect: " . $e->getMessage() . "<br/>";
die();
}
?>
在顶部编辑变量以适合您的需求,只要详细信息正确无误,唯一需要更改的就是
$servername
$dbusername
$dbpassword
$dbname
答案 1 :(得分:0)
myql_connect()自php 5.5+起已弃用,并已在php 7中删除。您可以使用mysqli_connect()或pdo。如果您仍然想使用mysql_connect(),请尝试使用php <7(我不推荐)
使用mysqli
function db_connection()
{
global $config,$data_sql;
$data_sql = mysqli_connect($config["sql_host"], $config["sql_user"], $config["sql_pass"], $config["db_name"]);
// You can select the db, by passing it as 4th param if you like
if (!$data_sql) die("Can't connect to MySql".mysqli_error($data_sql ) );
}