MySQL вставка в таблицу - проблемы с синтаксисом
$servername = 'edited';
$username = 'edited';
$password = 'edited';
$dbname = 'edited';
$name = $_POST ['name'];
$email = $_POST ['email'];
$number = $_POST ['number'];
$manufacturer = $_POST ['manufacturer'];
$birth = $_POST ['birth'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$sql = mysqli_query($conn, "INSERT INTO hgcasestudy (name, email, number, phonename, birthday) VALUES ($name, $email, $number, $manufacturer, $birth)");
if (!$sql) {
die('Invalid query: ' . mysql_error());
}
$conn->close();
Я получаю сообщение об ошибке: успешно подключенНеверный запрос: доступ запрещен для пользователя 'edited'@'localhost' (используя пароль: НЕТ)
Я в замешательстве, потому что $servername не установлен на локальный? Я думаю, что это просто не в синтаксисе с другими частями страницы. Есть идеи? Большое спасибо.
1 ответ
Вы смешали MySQL с MySQLi, который никогда не будет работать. Вы подключились с использованием MySQLi, а затем попытались выполнить запрос с использованием MySQL. Ваш запрос должен быть:
$sql = mysqli_query($conn,"INSERT INTO hgcasestudy (name, email, number, phonename, birthday) VALUES ($name, $email, $number, $manufacturer, $birth)");
Следует также указать, что вы уязвимы для атак с использованием инъекций, используя значения формы без ЛЮБОЙ проверки или дезинфекции.