我在将数据插入数据库时遇到问题。我不知道错误是什么。
这是我的索引:
<form id="myForm" action="insert.php" method="post">
Name: <input type="text" name="name"/><br/>
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<button id="sub">Save</button>
</form>
<span id="result"></span>
这是我的 insert.php
:
include_once('db.php');
$name = $_POST['name'];
$username = $_POST['username'];
$password = $_POST['password'];
if(mysql_query("INSERT INTO table_users VALUES('$name', '$username', '$password')")){
echo "Successfully Inserted";
} else {
echo "Insertion Failed";
}
还有我的db.php
:
$conn = mysql_connect('localhost', 'root', '');
$db = mysql_select_db('neverstoplearning');
最佳答案
您需要以有效的方式制作 HTML 表单,就像使用表单一样,但不是使用提交按钮作为类型提交
。
HTML 表单
<form id="myForm" action="insert.php" method="post">
Name: <input type="text" name="name"/><br/>
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<input type="submit" id="sub" value="Save" name='submit_form'/>
</form>
现在,当您单击提交按钮时,它会进入页面insert.php
,从那里您需要存储您的用户名
、名称
和密码。
插入.php
对于这一部分,您需要遵循一些规则,远离SQL注入(inject)
,遵循我在底部作为注释分享的内容。并且必须使用 isset 提交来完成所有这些事情。
if(isset($_POST['submit_form']){
include_once('db.php');
$name = $_POST['name'];
$username = $_POST['username'];
$password = $_POST['password'];
// use mysqli_* and the $conn string.
if(mysqli_query($conn, "INSERT INTO table_users VALUES('$name', '$username', '$password')")){
echo "Successfully Inserted";
} else {
echo "Insertion Failed";
}
}
注意:
For the protection of SQL Injection must use
mysqli_escape_string
,mysql_real_escape_string
,addslashes
,md5
,hash
. andmysql_*
nowDeprecated
, so start use ofmysqli_*
orPDO
.
关于PHP插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35703470/