【发布时间】:2018-05-01 14:32:51
【问题描述】:
<?php
include('connection.php');
/* code for id goes here */
$q2= "select MAX(id) from usertable";
echo mysqli_query($sql,$q2);
$name=$_POST['name'];
$username=$_POST['usrname'];
$password=$_POST['psw'];
$dob=$_POST['date'];
$query="insert into usertable(name, username, password, dateofbirth) values('$name', '$username','$password','$dob')";
if(mysqli_query($sql,$query))
{
echo "Registered successfully";
}
?>
这是我在我的数据库中注册用户的插入命令。但是,数据库包含一个名为 id 的列,它是主键。如何在执行插入查询之前获取 id,以便它获取最后一个 id 并将其递增 1 并将其与其他数据一起插入到数据库中。 id 是数字,我希望程序自己执行操作,而不是用户输入 id 的数据。请帮忙。
【问题讨论】:
-
您的脚本对SQL Injection Attack 甚至if you are escaping inputs, its not safe! 都是开放的,在
MYSQLI_或PDOAPI 中使用prepared parameterized statements -
研究
select声明 -
这在实际环境中使用看起来已经不安全了。我希望你意识到这一点。
-
如果
id列被定义为 AUTO INCREMENT 键,则无需对它进行任何操作。 MySQL 会为您处理这一切