SQLSTATE[HY093]: Недопустимый номер параметра: параметр не был определен, XAMPP и MySQL

#php #mysql

Вопрос:

Это файл PHP

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "palestra";

try{
    $Nome = $_POST["Nome"];
    $Cognome = $_POST["Cognome"];
    $Email = $_POST["Email"];
    $Password = $_POST["Password"];
    $Sesso = $_POST["Sesso"];
    $Città = $_POST["Città"];
    $Corso = $_POST["Corso"];

    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $stmt = $conn->prepare("INSERT INTO `palestra`.`clienti` (`Nome`, `Cognome`, `Email`, `Password`, `Sesso`, `Città`, `Corso`) VALUES (:Nome, :Cognome, :Email, :Password, :Sesso, :Città, :Corso)");
    $stmt->bindParam(':Nome', $Nome);
    $stmt->bindParam(':Cognome', $Cognome);
    $stmt->bindParam(':Email', $Email);
    $stmt->bindParam(':Password', $Password);
    $stmt->bindParam(':Sesso', $Sesso);
    $stmt->bindParam(':Città', $Città);
    $stmt->bindParam(':Corso', $Corso);

    $stmt->execute();
    
    echo "Registrazione avvenuta con successo";
}catch(PDOException $e)
    {
    echo "Connection failed"  . "<br>" . $e->getMessage();
    }
?>
 

Это таблица

 CREATE TABLE `clienti` (
  `Nome` varchar(32) NOT NULL,
  `Cognome` varchar(32) NOT NULL,
  `Email` varchar(64) NOT NULL,
  `Password` varchar(32) NOT NULL,
  `Sesso` varchar(16) NOT NULL,
  `Città` varchar(32) NOT NULL,
  `Corso` varchar(32) NOT NULL,
  PRIMARY KEY (`Email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
 

Когда я нажимаю кнопку «зарегистрироваться» в HTML-файле, регистрация завершается с этим кодом ошибки, почему?
Я использую Xampp и MySQL для выполнения этого упражнения для школы.

Комментарии:

1. Пожалуйста, ВСЕГДА сообщайте нам все сообщения об ошибках, а не резюме

2. Пожалуйста, не храните Пароли в виде Обычного Текста. PHP предоставляет password_hash() и password_verify() , пожалуйста, используйте их для безопасности ваших пользователей.

3. @RiggsFolly Это полная ошибка: SQLSTATE[HY093]: Неверный номер параметра: параметр не был определен

4. @RiggsFollyThe безопасность на данный момент не проблема, это простое упражнение для школы

5. Я исправил, акцент всегда проблема, моя вина…