【问题标题】:Uncaught Error: Call to undefined function mysql_connect() [Duplicate Online error]未捕获的错误:调用未定义的函数 mysql_connect() [重复的在线错误]
【发布时间】:2017-10-23 09:57:12
【问题描述】:

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

数据库连接:

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

登录.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(); ?>

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

【问题讨论】:

    标签: php html


    【解决方案1】:

    mysql_connect 在 PHP 7.0 中被移除。

    您的本地版本很可能运行的是旧版本的 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

    【讨论】:

      猜你喜欢
      • 2016-04-08
      • 2016-04-07
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      相关资源
      最近更新 更多