PHP скрипт входа не связывается с базой данных

У меня есть скрипт и когда я иду на сайт ссылка( http://kodle.co.uk/login.php ) скрипт возвращается с этим:

Предупреждение: mysql_connect (): доступ запрещен для пользователя ‘root’@’localhost’ (using >password: NO) в /home/hkode/public_html/dbconnect.php on line 12

Предупреждение: mysql_select_db (): доступ запрещен для пользователя ‘hkode’@’localhost’ (using >password: NO) в /home/hkode/public_html/dbconnect.php on line 13

Предупреждение: mysql_select_db (): не удалось установить ссылку на сервер в >/home/hkode/public_html/dbconnect.php on line 13
Ошибка подключения: доступ запрещен для пользователя «hkode» @ «localhost» (с помощью пароля: >нет)

DBCONNECT.PHP скрипт выглядит следующим образом:

<?php

// this will avoid mysql_connect() deprecation error.
error_reporting( ~E_DEPRECATED & ~E_NOTICE );
// but I strongly suggest you to use PDO or MySQLi.

define('DBHOST', 'localhost');
define('DBUSER', 'root');
define('DBPASS', '');
define('DBNAME', 'login_base');

$conn = mysql_connect("localhost", "root", "");
$dbcon = mysql_select_db(DBNAME);

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

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

5 ответов

  1. define('DBPASS', '');
    

    Вы хотите заменить ''на 'youractualpassword'

    Затем менять

    mysql_connect("localhost", "root", "");
    

    к

     mysql_connect(DBHOST, DBUSER, DBPASS);
    

    Далее комментарий

    // this will avoid mysql_connect() deprecation error.
    error_reporting( ~E_DEPRECATED & ~E_NOTICE );
    // but I strongly suggest you to use PDO or MySQLi.
    

    Рекомендуется не использовать эти методы. Вы должны делать это, только если вы абсолютно знаете, что вы делаете, что кажется, что вы не делаете.

    Я настоятельно рекомендую использовать что-то вроде laracasts для изучения php.
    Удача

  2. Похоже, что пароль не подходит для пользователя root и я бы предложил вам использовать константы для подключения к mysql, которые u уже определили.
    я бы переписал оператор соединения и последующий оператор что-то вроде этого

    $conn = mysql_connect(DBHOST, DBUSER, DBPASS);
        if ( !$conn ) { 
        die("Connection failed : " . mysql_error());
    }else{ // connection succesful
       $dbcon = mysql_select_db(DBNAME);
    }
    
  3. Перейдите в свою базу данных и проверьте, действительно ли пользователь root не требует пароля. Если это так, то вставьте его в качестве третьего параметра в пустые одинарные кавычки ниже. Теперь используйте код ниже, и вы будете в порядке. С новым годом!.

    <?php
    $con = mysql_connect('REPLACE_THIS_WITH_IP_ADDRESS_OF_YOUR_SERVER', 'root', ''); 
    if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db("login_base", $con); 
    ?>
    
  4. mysql является устаревшим, вы должны использовать mysqli или pdo. пример mysqli …

     $hostname= "localhost";
     $username = "root";
     $password = "";
     $dbname = "your_database_name";
     $con = new mysqli($hostname, $username, $password,$dbname);
    
     if ($con->connect_error) {
     die("Connection failed: " . $con->connect_error);
     } 
     $sql = "your_query";
    
     if ($con->query($sql) === TRUE) {
       echo "On query result is successfull";
     } else {
       echo "Error: " . $sql . "<br>" . $con->error;
    }
    $con->close();