普通网友 2018-08-12 18:44
浏览 124
已采纳

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

I have set up a website on my PC with XAMPP, MySQL and Apache enabled. I am getting this fatal error. I have set up the config files and followed the read-me correctly. However I cannot seem to get where the problem is. Database is correctly set up in config files and upload .sql to 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

Line 26-33 in global.php

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条回答 默认 最新

  • dtr84664 2018-08-12 19:10
    关注

    myql_connect() is deprecated since php 5.5+ and removed in php 7. You can either use mysqli_connect() or pdo . If you still want to use mysql_connect() try with php<7(which I wouldn't recommend)

    Using 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 ) );
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • doutun1362 2018-08-12 18:51
    关注

    mysql_connect is depreciated as far as i'm aware from php 7+. Try to use PDO or mysqli it's more secure and people will shout at you if you try to use mysql_connect if you're running an older version of php. A quick google search would've found this quote in the php documentation.

    Warning This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used.

    In response to your comment, here's a PDO example of a typical connection to the database

    <?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();
    }
    ?>
    

    Edit the variables to suit your needs at the top, provided the details are correct the only thing that needs to be changed are the

    $servername 
    $dbusername 
    $dbpassword 
    $dbname 
    
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 arm虚拟机无法和物理机互通
  • ¥15 如何在此代码上增加一个统计学生生源的功能?(语言-c语言)
  • ¥15 Android导航条遮盖异常
  • ¥15 计算机网络技术基础问题
  • ¥15 设置mac系统只能访问指定网站
  • ¥15 西门子博途 s7 1200控制三台步进电机
  • ¥15 基于非参数的方向距离函数求污染物影子价格(有偿)
  • ¥15 vue+element 生成table
  • ¥15 实验 4 FIFO 算法和 LRU 算法-C 程序实现
  • ¥15 有偿拼接大疆精灵4RGB影像