1

我有一种“问题”,我不知道它是怎么发生的。如果我通过 php 将行添加到我的表中,它只是将它们随机添加到某处。但我希望将它们添加到顶部。相反,它只是将它们添加到整个表格中。

 $name = ($_GET["name"]);
 $sql = "INSERT INTO $DB_Table VALUES('$name')";

 $number = ($_GET["number"]);
 $sql = "INSERT INTO $DB_Table VALUES('$number')";

 $con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die (mysql_error()); 
 mysql_select_db($DB_Name,$con) or die(mysql_error()); 

 mysql_query("INSERT INTO $DB_Table (Name,number)
 VALUES ('$name','$m_yolo')");



 $res = mysql_query($sql,$con) or die(mysql_error());


        mysql_close($con);
if ($res) {
    echo "success";
}else{
    echo "faild";
}// end else
?>
4

2 回答 2

2

关系表中没有行排序之类的东西。如果你想让它们排序,你需要使用一个ORDER BY子句。您可以添加一TIMESTAMP列,您可以在选择数据时对其进行排序:11.3.1。DATE、DATETIME 和 TIMESTAMP 类型

于 2012-05-26T17:45:21.567 回答
0

创建另一个表,但在其中添加一个 ID 自增列:

CREATE TABLE IF NOT EXISTS `table` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `number` int(10) NOT NULL,
  PRIMARY KEY (`id`)
);

然后你可以像这样插入新行:

$sql = "INSERT INTO $DB_Table (id, name,number) VALUES ('', '$name', '$number')";

然后,您的新条目将按 id 排序。您可以在选择查询中订购它们:

$sql = "SELECT 'name', 'number' FROM `table` ORDER BY 'id' DESC";

不过,关于您的代码的一点评论:直接使用 $_GET 中的值是不安全的,就像您在代码开头所做的那样。尝试使用mysql_real_escape_string()例如。

于 2012-05-26T17:53:27.363 回答