Я пытаюсь получить данные из формы моего сайта и храниться в sql, но показывает ошибку подключения к базе данных.
Вот мой код:
<!DOCTYPE html>
<head>
</head>
<body>
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$contact = $_POST['contact'];
$comment = $_POST['comment'];
$link = mysqli_connect("localhost", "epiz_22277887", "A6R6qtbEVDIe", "epiz_22277887_data") or die("ERROR: Could not connect database. ");
if (isset($_POST['name']) && isset($_POST['email'])){
$sql = "INSERT INTO user (name, email, contact, comment) VALUES ('$name', '$email', '$contact', '$comment')";
$result = mysqli_query($link, $sql) or die("ERROR: Could not connect. ");
mysqli_close($link);
?>
<h1>Thank You for Contacting Us <?php echo "<span style='color:purple;'>$name</span>" ?></h1>
<h3>We will be contacting you soon</h3> <a href = "index.html">Click here for redirecting site..</a
<?php
}else{
?> <p>Your account have been not registered yet.</p>
<a href = "index.html">Click here for redirecting site..</a>
<?php }?>
</body>
</html>
Ошибка: ОШИБКА: не удалось подключиться к базе данных.
Кто-нибудь скажет мне, где я сделал ошибку?
Имя пользователя, пароль или имя базы данных могут быть неправильными в вашем коде.
вместо немедленного завершения сценария используйте mysqli_error() в своем коде, чтобы найти фактическое сообщение об ошибке, а затем выведите или запишите его где-нибудь, чтобы вы могли его увидеть. Это могло бы дать вам лучшую подсказку. Это базовая отладка, которую вы должны знать, если хотите работать с SQL. php.net/manual/en/mysqli.error.php. После этого вы можете убить скрипт, если хотите, или реализовать более изящное решение для обработки ошибок.
Кроме того, ваш код уязвим для атак с использованием SQL-инъекций. Вы должны использовать параметризованные запросы и подготовленные операторы, чтобы предотвратить взлом вашей базы данных злоумышленниками с помощью вредоносных входных значений. bobby-tables.com дает объяснение рисков, а также несколько примеров того, как безопасно писать ваши запросы с использованием PHP / mysqli. Никогда вставляет необработанные данные прямо в ваш SQL.






Возможно, вы устанавливаете плохие свойства соединения? Кстати, будьте осторожны с входными переменными, находящимися в вашем запросе. Возможна SQL инъекция - https://en.wikipedia.org/wiki/SQL_injection
Вы уверены, что данные хранятся в вашей базе данных? может быть это предыдущие.