【问题标题】:How to get last table entry from MYSQL如何从 MYSQL 获取最后一个表条目
【发布时间】:2014-06-29 11:38:57
【问题描述】:

我在 file1.php 中有一个表单,我在其中输入新闻文章,该文章被发送到 MYSQL。我想要做的是使用 MAX(id) 显示来自 MYSQL 的 file2.php 上输入的数据。

这是我的 PHP 代码:

文件1.php

if (isset($_POST['Publish'])) 

$Name = $_POST["Name"];
$Content = $_POST["Content"];
$NewsType = $_POST["NewsType"];
$Author = $_POST["Author"];
$Date = $_POST["Date"];

mysql_connect('localhost', 'username', 'password') or die (mysql_error());
mysql_set_charset('utf8');
mysql_selectdb('dbname') or die (mysql_error());
$query = "INSERT INTO `table`
            (`Name`, `Content`, `NewsType`, `Author`, `Date`)
            VALUES
            ('$Name','$Content','$NewsType','$Author','$Date')";
mysql_query($query) or die (mysql_error());
header ('Location: File2.php');
mysql_close();

【问题讨论】:

  • SELECT * FROM table ORDER BY id DESC LIMIT 1?
  • 不是错误,但请考虑使用 PDO 或 MySQLi
  • 我想你是在问最后插入的 id 吗?
  • @asprin auto_increment 列不保证最后插入的值最大
  • 此外,您的 SQL 会受到 SQL 注入,因为您直接将 $_POST 值放入查询中而无需任何过滤

标签: php mysql forms max


【解决方案1】:

在这样的页面上,您可以使用mysql_insert_id() 并重定向到File2.php?id=$lastid 以显示插入的文章

mysql_query($query) or die (mysql_error());
$lastid = mysql_insert_id();
header ('Location: File2.php?id='.$lastid);

【讨论】:

  • 请告诉我如何将它正确地放入我的代码中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 2017-04-17
  • 2019-01-17
  • 1970-01-01
相关资源
最近更新 更多