0
テーブルにレコードを挿入しようとしていて、配列プッシュを使用してそのレコードの配列を作成しようとしていますが、使用するPHPでmysqliで挿入されたレコードの配列を作成できません
$insert_sql = "INSERT INTO PasswordResetRequest(email,encrypted_temp_password,salt,created_at) VALUES('$email','$encrypted_temp_password','$salt',NOW());";
$insert_query = mysqli_query($con,$insert_sql);
$ins_result = array();
while($row = mysqli_fetch_array($insert_query)) {
array_push($ins_result, array(
'email' => $row['email'],
'encrypted_temp_password' => $row['encrypted_temp_password'],
'salt' => $row['salt'],
'created_at' => $row['created_at']
));
}
if ($ins_result) {
$user["email"] = $email;
$user["temp_password"] = $random_string;
return $user;
} else {
return false;
}
しかし、私はそれを実装する必要がありますか?
あなたは、その機能がtrueまたはfalseを返します何かを挿入する際
[Little Bobby](http://bobby-tables.com/)によると*** [あなたのスクリプトはSQLインジェクション攻撃の危険にさらされています。](http://stackoverflow.com/questions/60174/how- php)*** MySQLi(http://php.net)の[prepared](http://en.wikipedia.org/wiki/Prepared_statement)のステートメントについて学びます。 /manual/ja/mysqli.quickstart.prepared-statements.php)。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! [それを信じていない?](http://stackoverflow.com/q/38297105/1011527) –
パスワードのセキュリティを処理するには、PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)を使用してください。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。 *** [パスワードをエスケープしない](http://stackoverflow.com/q/36628418/1011527)***を確認するか、ハッシュする前に他のクレンジングメカニズムを使用してください。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –
insertクエリを実行した後、主キーがある場合は最後のinsert idを取得し、次に必要なレコードを取得するためのクエリを作成します。 – Ima