提交后,回显用户的mysql id

时间:2013-07-01 01:19:31

标签: php mysql submit echo auto-increment

我有点问题,我真的很抱歉找到你,但我看了很多,但找不到一个好的答案。当用户在我的页面上提交数据时,数据将发送给我mysql服务器并存储,mysql会为其提供auto_increment id。当用户提交时,我想要回显mysql为其提交分配的id。有人可以帮忙吗?

这是我的代码:

<?php $con=mysqli_connect('host','username','pass','db');
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO subusers (username, date, ip)
VALUES
('$_POST[username]','$_POST[date]','$_POST[ip]')";
if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added", mysql_insert_id();
mysqli_close($con);
?>

这是将数据发送到服务器的代码,当它执行并从服务器获取id时,我希望它回显id。

3 个答案:

答案 0 :(得分:2)

问题是您混合了mysqlmysqli语法。

您应该使用mysqli_insert_id($con)替换代码中的mysql_insert_id()

现在你应该有正确的计数。

除此之外,你有一个SQL注入问题。您应该切换到带有绑定变量的预准备语句,而不是直接在查询中注入$_POST变量。

答案 1 :(得分:0)

查看mysql_insert_idmysqli_insert_id(有关PHP的更新版本)。

例如。     echo mysql_insert_id()

答案 2 :(得分:0)

php函数

mysql_insert_id()
mysqli_insert_id()

将返回插入的最后一行的主键。