0

我正在尝试使用表单帖子向 mySQL 表添加行。每行都有一个我称为quoteID 的主。提交新表单时,它应该将自身添加为表中的一行,并且 quoteID 比之前的 quoteID 大一。它目前看起来像这样:

<?
session_start();
if(!session_is_registered(myusername)){
header("location:login.php");
}
include 'verify.php';
$con = mysql_connect("localhost","user","$password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("internal", $con);

$previousOrderID = mysql_query("SELECT * FROM sourcingQuote ORDER BY quoteID DESC LIMIT 1"); 
$previousOrderID = mysql_fetch_assoc($previousOrderID);
$newOrderID = $previousOrderID['ID'] + 1;

mysql_close($con);
?>

目前该表中有 4 行,quoteID 为 1、2、3 和 4。奇怪的是,如果我尝试:

<? echo $previousOrderID; ?><br>
<? echo $newOrderID; ?><br>

输出结果为:

Array

1

为什么 $newOrderID 不显示 5?和价值 $previousOrderID 4?

谢谢。

4

1 回答 1

3

您的唯一标识称为quoteID;您正在寻找身份证件:

$newOrderID = $previousOrderID['ID'] + 1;

尝试这个:

$newOrderID = $previousOrderID['quoteID'] + 1;

您当前得到 1,因为当它没有找到值时,它返回 null,当您将 1 添加到它时,它的计算结果为 0。

您还可以通过将 quoteID 字段设置为 auto_increment 来解决此问题。

于 2012-09-19T16:06:49.490 回答