繁体   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