尝试使用XAMPP访问计算机上的网站时,PHP致命错误

时间:2018-08-12 18:44:15

标签: php xampp

我已在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()

2 个答案:

答案 0 :(得分:0)

据我所知,从php 7+开始,mysql_connect已贬值。尝试使用PDOmysqli更为安全,如果您运行的是旧版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 ) );

}