は..あなたへの私の提案は、あなたが現在、このチュートリアル(複数可)を停止することですmysqliやpdoを使って準備された文を覚えておき、ローカルマシンで練習していてもプレーンテキストでパスワードを保存しないでください。
PHPはあなたのハッシュとセキュリティを保護する驚くべき機能を持っていますパスワードは、
password_hash() and password_verify()
はmysqliのとあなたのコードは次のようになりますを用意し
<?php
$servername = "localhost";
$username = "user";
$password = "password";
$hash = password_hash($password,PASSWORD_DEFAULT);
$dbname = "database";
$name ="test2";
$email="1234";
$password ="1234";
$hash=password_hash($password,PASSWORD_DEFAULT);
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// prepare and bind
$stmt = $conn->prepare("INSERT INTO android (name,email,password) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $name, $email, $hash);
$stmt->execute();
echo "New records created successfully";
$stmt->close();
$conn->close();
?>
あなたのように、エラーをので、あなたがそれかどうかを確認する必要があり、uはあなたのテーブルの主キーを作られた電子メールの重複であります電子メールは挿入する前に存在しません。
<?
$sql = $con->prepare("SELECT email from android WHERE email = ? LIMIT 1");
$sql->bind_param('s', $email);
$sql->execute();
$sql->bind_result($email);
$sql->store_result();
if ($sql->num_rows == 1) //row exists
{
if ($sql->fetch()) //contents of the row
{
echo $email . "already registered";
}
} else {
//email does not exist lets insert
// prepare and bind
$sql = $conn->prepare("INSERT INTO android (name,email,password) VALUES (?, ?, ?)");
$sql->bind_param("sss", $name, $email, $password);
$sql->execute();
echo "New records created successfully";
$sql->close();
$conn->close();
}
?>
とあなたのDB接続とクエリ-・実行は次のとおりです。
あなたの適切なコードは次のようにすべきですか? – donald123
'$ sql'変数 –
とdbスキーマを印刷してみてください。 –