簡體   English   中英

MySqli向數據庫添加多行

[英]MySqli adding multiple rows to db

我是從Web表單向db發送數據,但是每次運行它時,數據都會在數據庫中存儲六行,而不僅僅是一行。

該表格只是一個標准表格,其中包含電子郵件/密碼輸入和一個提交按鈕。 表單的操作運行以下命令:

<?php
// connect to db
$link = new mysqli("localhost", "root", "", "db_name");
if (!$link) {die('Database Error: Could not connect: ' . mysql_error());}

// username and password sent from form
$email = $_POST['email'];
$password = ($_POST['password']);

// encrypt
$salt = substr(base64_encode(mcrypt_create_iv(16, MCRYPT_DEV_URANDOM)), 0, 16);
$em = crypt($email, '$6$'.$salt);
$pw = crypt($password, '$6$'.$salt);

// insert to db
$insert = "INSERT INTO users (email, password) VALUES ('$em', '$pw')";
$link -> query($insert);

// check succes/fail
if ($link->query($insert) === TRUE) {
    echo "New record created successfully";}
else {
    echo "Error: " . $sql . "<br>" . $link->error;
}

// close the db connection
$link->close();

我知道這帶來了一個有關使用加密/鹽洗輸入內容的問題。 頁面說這是一種合理的方法。 請隨意提出來,但我並不是真的在尋求關於最佳化用戶輸入的最佳實踐的論據。

我想知道是否有人告訴我為什么將數據存儲6次而不是一次。 我將$6$更改為$1$但仍然添加了6行。

您的網站上有一些愚蠢的seo友好鏈接實現,使其在每次請求時都運行php代碼,並在html中提供了5個指向不存在資源的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM