Níže je upravený kód s připraveným prohlášením.
Prvním krokem je připojení k databázi. K tomu potřebujeme definovat přístupové údaje.
// 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);
Nyní zkontrolujte připojení.
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
Poté spusťte dotaz. Vezměte prosím na vědomí, že toto je váš osobní projekt, proto používám SHA1
jako hash vašeho hesla. Pro větší projekt doporučuji dále prozkoumat, jak zabezpečit heslo.
Chcete-li spustit dotaz, musíte jej nejprve připravit. Takto to děláte.
$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");
V tomto uložíte výpis do $stmt
variabilní. Dotaz má INSERT INTO
následovaný názvem tabulky. Ve vašem případě je to feedback
.
Poté vyplníte pole tabulky, která se uloží do první závorky. Ve vašem případě to bude (user, password, email)
následuje VALUES
.
Poté přidáte zástupné symboly pro skutečné hodnoty pomocí (?, ?, ?)
. Upozorňujeme, že celkový počet ?
musí odpovídat celkovému počtu polí v předchozí závorce.
Nyní musíte svázat proměnné s těmito ?
. To provádí,
$stmt->bind_param("sss", $user, $password, $email);
Vezměte prosím na vědomí, že "sss"
jsou formáty předávaných hodnot. Níže jsou uvedeny formáty.
i - integer
d - double
s - string
b - BLOB
Musíte tedy předat 3 hodnoty, takže máte 3 s
, následované proměnnými, do kterých budete ukládat hodnoty z HTML formuláře,
$user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];
Nyní stačí provést připravený příkaz.
$stmt->execute();
To je ono!
Níže je celý kód.
// 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();
Doufám, že to pomůže.