如何使用php在sql中以html格式存储用户提供的输入

如何使用php在sql中以html格式存储用户提供的输入,php,mysql,Php,Mysql,这是我的PHP代码 <html><head> <title>login.php</title> <link rel = "stylesheet" href="login-style.css"> </head> <body> <div class = "container"> <div class = "message"> <?php define('DB_NAME','mydb')

这是我的PHP代码

<html><head>
<title>login.php</title>
<link rel = "stylesheet" href="login-style.css">

</head>
<body>
<div class = "container">
<div class = "message">
<?php
define('DB_NAME','mydb');
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_HOST','127.0.0.1');

$link = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if($link){
    die('could not connect:'. mysql_error());
}
$db_selected = mysql_select_db(DB_NAME,$link);
if(!$db_selected){
    die('can\'t use'.DB_NAME . ': ' . mysql_error());
}
$value1 = $_POST['name'];
$value2 = $_POST['password'];
$sql = "INSERT INTO Account (username,password) VALUES ('$value1','$value2')";

if(!mysql_query($sql))
{die('ERROR'.mysql_error());
}
mysql_close();
?>

<h1>Thank you for logging in </h1>
<form action = "form.html">
<p class ="submit">
<button type ="submit" >
GO TO FORM
</button>
</p>
</div>
</div>
</body>
</html>

login.php
更改以下内容:

$sql = "INSERT INTO Account (username,password) VALUES ('$value1','$value2')";
致:

编辑:
您没有为用户名和密码设置输入字段。因此,POST将不起作用。

首先,您需要一个操作和方法。 最好将文件重命名为form.php

<form action = "form.php" method="POST">
转义您的值字符串

$query= "INSERT INTO Account (username,password) VALUES ('".$mysqli->real_escape_string($value1)."','".$mysqli->real_escape_string($value2)."')"
执行查询

$result=$mysqli->query($query);
验证结果(如果有)或检查是否发生错误

if(!$result) {
    $ErrMessage  =  $mysqli->error . "\n";
    $mysqli->close();
    die( $ErrMessage) ;
}

您是否从sql中得到任何错误?1。Mysql是无润滑的。2.Stackoverflow已经有数百个类似(大部分相同)的问题。3.表单操作到html文件?您正在使用POST作为名称和密码,但您的表单不包含此文本框。我没有收到任何错误,似乎无法连接到mysql@saurabh不,我制作了一个html文件,其中包含文本框,我采用的是用户在文本框中输入的值,在html代码中,您需要两个输入字段“name”和“password”表示了解语句。即使是这样也不安全@杰伊·布兰查德很高兴看到你投了反对票,但给出了自己的答案。除此之外,我只想给出一个简单的答案。在他的代码中根本没有关于安全性的内容,用户1423798的答案包含了一个明确的错误。不是我的反对票——我只是发表了评论。不过这并不重要,安全性应该始终是您想到、使用和推荐的第一件事。OP没有发布足够的代码让我推测答案可能是什么。如果值是字符串,则必须在数据库中引用。您的语法更改不正确。相反,你应该推荐你的陈述。
$query= "INSERT INTO Account (username,password) VALUES ('".$mysqli->real_escape_string($value1)."','".$mysqli->real_escape_string($value2)."')"
$result=$mysqli->query($query);
if(!$result) {
    $ErrMessage  =  $mysqli->error . "\n";
    $mysqli->close();
    die( $ErrMessage) ;
}