Abaixo está o código modificado com a Declaração Preparada.
O primeiro passo é se conectar ao banco de dados. Para fazer isso, precisamos definir os detalhes de acesso.
// Define Database Credentials
$servername = "localhost"; //Server Name
$username = "KyleHulse"; //Username to the DB
$password = "(my password)"; //Password to the DB
$dbname = "csdb1082"; //Name of the Database
// Create Database Connection
$conn = new mysqli($servername, $username, $password, $dbname);
Agora verifique a conexão.
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
Depois disso, você executa sua consulta. Observe que, como este é seu projeto pessoal, estou usando
SHA1
como o hash de sua senha. Para um projeto maior, recomendo pesquisar mais sobre como proteger sua senha. Para executar a consulta, primeiro é prepará-la. Isto é como você faz.
$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");
Neste, você armazena a instrução em
$stmt
variável. A consulta tem INSERT INTO
seguido do nome da tabela. No seu caso é feedback
. Depois disso, você preenche os campos da tabela para serem salvos no primeiro colchete. No seu caso será
(user, password, email)
seguido por VALUES
. Depois disso, você adiciona espaços reservados para os valores reais usando
(?, ?, ?)
. Observe que a contagem total de ?
deve corresponder à contagem total de campos no colchete anterior. Agora você tem que vincular as variáveis a estes
?
. Isso é feito por, $stmt->bind_param("sss", $user, $password, $email);
Observe que
"sss"
são os formatos de valores passados. Abaixo estão os formatos. i - integer
d - double
s - string
b - BLOB
Então você precisa passar 3 valores, portanto você tem 3
s
, seguido pelas variáveis onde você armazenará os valores do formulário HTML por, $user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];
Agora você só precisa executar a instrução preparada.
$stmt->execute();
É isso!
Abaixo está o código completo.
// Define Database Credentials
$servername = "localhost"; //Server Name
$username = "KyleHulse"; //Username to the DB
$password = "(my password)"; //Password to the DB
$dbname = "csdb1082"; //Name of the Database
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $user, $password, $email);
$user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];
$stmt->execute();
Espero que isto ajude.