База данных не выбрана - php и phpmyadmin

0

Я пытаюсь подключить свой php-код к моей базе данных, и как только я ввожу и отправляю такие вещи, как имя пользователя, адрес электронной почты и пароль, в моей html-форме. Они будут отправлены в мою базу данных и показаны в определенных столбцах, а на моей странице будет текст типа "Новая запись успешно создана". Но сейчас вместо этого происходит ошибка.

Ниже мой php код

<?php
$visitorname = $emailaddress = $visitorpassword = $confirmpassword = "";

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mydb";

if($_SERVER["REQUEST_METHOD"] == "POST"){
$visitorname = input($_POST["visitorname"]);
$emailaddress = input($_POST["emailaddress"]);
$visitorpassword = input($_POST["visitorpassword"]);
$confirmpassword = input($_POST["confirmpassword"]);
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
}



function input($data){
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}
if($visitorpassword == $confirmpassword){


// Create connection
$conn = new mysqli($servername, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$id = mysqli_insert_id($conn);
$sql = "INSERT INTO registereduser (id, username, emailaddress, 
hashedpassword) VALUES ($id, $visitorname, $emailaddress, 
$hashed_password)";

if ($conn->query($sql) === TRUE){

    echo "New record created successfully";
}else{
    echo "Errors " . $sql . "<br>" . $conn->error;
}
$conn->close();
}else{
    echo "Passwords do not match";
}
?>

Ниже приведен вывод ошибок на моей веб-странице:

Успешно подключенОшибки INSERT INTO registereduser (идентификатор, имя пользователя, адрес электронной почты, хэш-пароль) ЗНАЧЕНИЯ (0, Josh5577, [email protected], $ 2y $ 10 $ RMasEdVOskmcXbmfchLeBeUzLa5l38jXFaCQN8vAmUhhmBh)

  • 0
    Вы предоставляете соединению пароль для подключения? $ Conn = new mysqli ($ servername, $ username, $ password, $ dbname);
  • 0
    Да, я хотел, но если я установлю имя пользователя и пароль для входа в phpmyadmin. Тогда другая ошибка будет отображаться на странице. Вы можете игнорировать переменные $ username и $ password.
Показать ещё 3 комментария
Теги:
sql-server
phpmyadmin
xampp

2 ответа

0

Пожалуйста, используйте ниже код для подключения

$conn = new mysqli($servername, $username, $password, $dbname);
  • 0
    Это выдает ошибку «Предупреждение: mysqli :: __ construct (): (HY000 / 1045): доступ запрещен для пользователя 'username' @ 'localhost' (с использованием пароля: YES) в (расположение моего файла) в строке" x "Connection Сбой: доступ запрещен для пользователя 'username' @ 'localhost' (используя пароль: YES) "
  • 0
    Это означает, что вы не ввели правильные учетные данные $ servername = "localhost"; $ username = "username"; $ password = "пароль"; $ dbname = "mydb"; Пожалуйста, проверьте эти учетные данные.
0

Вы можете попробовать изменить

// Create connection
$conn = new mysqli($servername, $dbname);

в

// Create connection
$conn =  new mysqli($servername, $username, $password);
mysqli_select_db($conn, $dbname);
  • 0
    Я попытался, но вместо этого он показывает эту ошибку «Предупреждение: mysqli :: __ construct (): (HY000 / 1045): доступ запрещен для пользователя 'username' @ 'localhost' (используя пароль: YES)" и "Предупреждение: mysqli_select_db ( ): Не удалось получить mysqli ".
  • 0
    Мне кажется, что вы пытаетесь подключиться к БД с неправильными учетными данными, потому что вы получаете доступ запрещен, а затем не может получить. вы используете правильные учетные данные? Вы можете проверить phpmyadmin или cPanel

Ещё вопросы

Сообщество Overcoder
Наверх
Меню