当我只想输出一行时,MYSQL/PHP输出整个表

当我只想输出一行时,MYSQL/PHP输出整个表,php,mysql,Php,Mysql,这绝对是一个初学者的问题。有两个问题。我的MYSQL表中的id(设置为autoincrement)一直在上升,即使我从表中删除了行(我使用的是phpmyadmin)。至于另一个问题,我似乎找不到处理用户最近输入的行的方法。该代码回显MYSQL中的所有现有行。 我已经用粗体标出了代码中最相关的部分 <?php //establish connection to mysql $con = mysql_connect("localhost","root",""); if (!$con) {

这绝对是一个初学者的问题。有两个问题。我的MYSQL表中的id(设置为autoincrement)一直在上升,即使我从表中删除了行(我使用的是phpmyadmin)。至于另一个问题,我似乎找不到处理用户最近输入的行的方法。该代码回显MYSQL中的所有现有行。 我已经用粗体标出了代码中最相关的部分

<?php
//establish connection to mysql
$con = mysql_connect("localhost","root","");
if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

/*retrieve user input from input form
and initialize variables */  
$Word1 = $_POST["Word1"];
$Word2 = $_POST["Word2"];
$Word3 = $_POST["Word3"];
$Word4 = $_POST["Word4"];
$Word5 = $_POST["Word5"];

//select db
mysql_select_db("madlibs", $con);  

//insert user input for word 1
$sql = "INSERT INTO test (Word1, Word2, Word3, Word4, Word5)
VALUES
('$Word1', '$Word2', '$Word3', '$Word4', '$Word5')";
if(!mysql_query($sql,$con))
{
  die('Error: ' . mysql_error());
}

$result = mysql_query ("SELECT * FROM test");  

/* take note here */
while($row = mysql_fetch_array($result))
{
  echo $row['Word1'] . " " . $row['Word2'] . " " . $row['Word3'] . " " . 
       $row['Word4'] . " " . $row['Word5'] . " " . $row['id'];
  echo "<br />";
} /* take note here */
mysql_close($con);
?>

至于你的身份证问题……身份证就是这样工作的。它们不能填补空白


另一方面:永远不要将用户提交的数据直接放入查询字符串中。始终使用mysql\u real\u escape\u string()对其进行转义

你能把整个代码放在
之间的

$result = mysql_query ("SELECT * FROM test order by id desc limit 1");
SELECT * FROM test ORDER BY Id DESC LIMIT 1