未捕获错误:调用未定义函数mysql_connect()[重复在线错误]

时间:2017-10-23 09:57:13

标签: php html

我正在我的在线网站上进行调整。但当我点击登录时,它总是显示此错误。即时通讯有问题,当我在wampserver中使用此代码时,没关系,并且没有错误。但是当我尝试在线时,出现错误,这是错误: 致命错误:未捕获错误:在/storage/ssd5/266/3359266/public_html/dbconnect.php:11中调用未定义函数mysql_connect()堆栈跟踪:#0 /storage/ssd5/266/3359266/public_html/register.php( 7):在第11行的/storage/ssd5/266/3359266/public_html/dbconnect.php中抛出include_once()#1 {main}

数据库连接:

 <?php

    // this will avoid mysql_connect() deprecation error.
    // but I strongly suggest you to use PDO or MySQLi.

    define('DBHOST', 'localhost');
    define('DBUSER', 'id3359266_root');
    define('DBPASS', '123456789');
    define('DBNAME', 'id3359266_dbtest');

    $conn = mysql_connect(DBHOST,DBUSER,DBPASS);
    $dbcon = mysql_select_db(DBNAME);

    if ( !$conn ) {
        die("Connection failed : " . mysql_error());
    }

    if ( !$dbcon ) {
        die("Database Connection failed : " . mysql_error());
    }
    ?>

的login.php

<?php
    ob_start();
    session_start();
    require_once 'dbconnect.php';

    // it will never let you open index(login) page if session is set
    if ( isset($_SESSION['user'])!="" ) {
        header("Location: home.php");
        exit;
    }


    if( isset($_POST['btn-login']) ) {  

        // prevent sql injections/ clear user invalid inputs
        $student_number = trim($_POST['student_number']);
        $student_number = strip_tags($student_number);
        $student_number = htmlspecialchars($student_number);

        $pass = trim($_POST['pass']);
        $pass = strip_tags($pass);
        $pass = htmlspecialchars($pass);
        // prevent sql injections / clear user invalid inputs

        if(empty($student_number)){
            $error = true;
            $student_number_Error = "Please enter your student number.";
        }

        if(empty($pass)){
            $error = true;
            $passError = "Please enter your password.";
        }

        // if there's no error, continue to login
        if (!$error) {
            $password = hash('sha256', $pass); // password hashing using SHA256

            $res=mysql_query("SELECT student_number, userPass, user_role, firstname, middlename, lastname, course FROM users WHERE student_number = '$student_number'");
            $row=mysql_fetch_array($res);
            $count = mysql_num_rows($res); // if uname/pass correct it returns must be 1 row

            if( $count == 1 && $row['userPass']==$password ) {
                $_SESSION['user'] = $row['student_number'];
                header("Location: home.php");
                echo $_GET['id'];
            } else {
                $errMSG = "Incorrect Credentials, Try again...";
            }

        }

    }
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Coding Cage - Login & Registration System</title>
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css"  />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>

<div class="container">

    <div id="login-form">
    <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" autocomplete="off">

        <div class="col-md-12">

            <div class="form-group">
                <h2 class="">Sign In.</h2>
            </div>

            <div class="form-group">
                <hr />
            </div>

            <?php
            if ( isset($errMSG) ) {

                ?>
                <div class="form-group">
                <div class="alert alert-danger">
                <span class="glyphicon glyphicon-info-sign"></span> <?php echo $errMSG; ?>
                </div>
                </div>
                <?php
            }
            ?>

            <div class="form-group">
                <div class="input-group">
                <span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span>
                <input type="text" name="student_number" class="form-control" placeholder="Student Number" value="<?php echo $student_number; function a(){$student_number=$idc;}?>" maxlength="15" />

                </div>

                <span class="text-danger"><?php echo $student_number_Error; ?></span>
            </div>

            <div class="form-group">
                <div class="input-group">
                <span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span>
                <input type="password" name="pass" class="form-control" placeholder="Password" maxlength="30" />
                </div>
                <span class="text-danger"><?php echo $passError; ?></span>
            </div>

            <div class="form-group">
                <hr />
            </div>

            <div class="form-group">
                <button type="submit" class="btn btn-block btn-primary" name="btn-login">Sign In</button>
            </div>

            <div class="form-group">
                <hr />
            </div>

            <div class="form-group">
                <a href="register.php">Sign Up Here...</a>
            </div>

        </div>

    </form>
    </div>  

</div>

</body>
</html>
<?php ob_end_flush(); ?>

我该怎么办?该网站已经在线。

1 个答案:

答案 0 :(得分:1)

在PHP 7.0中删除了mysql_connect。

您的本地版本很可能正在运行旧版本的PHP。

http://php.net/manual/en/function.mysql-connect.php

使用mysqli或PDO代替

http://php.net/manual/en/function.mysqli-connect.php

http://php.net/manual/en/pdo.connections.php