回应mySQL数据库中的整数

时间:2009-04-12 14:08:16

标签: php mysql integer echo

我正在尝试建立一个用户在一个屏幕上输入详细信息的网站,然后将它们发布到以下脚本中。此脚本用于将这些详细信息与唯一的整数ID(它具有)一起存储在数据库中,然后生成包含刚刚创建的记录的唯一ID的两个链接。由于数据库之前创建的是ID而不是页面,我试图在数据库中查询最新的记录(即具有最高唯一ID值的记录)并在链接中使用该数字,但是使用当前脚本ID似乎没有显示在页面中。这是一个变量型的东西吗?有没有更简单的方法来获取刚刚创建的页面的ID?这是代码:

$css = $_POST['css'];
$shopName = strip_tags($_POST['title']);
$email = $_POST['email'];

$con = mysql_connect("***","***","***");
if (!$con)
{
    die('Could not connect to database: '. mysql_error());
}

mysql_select_db("***", $con);

$sql = "INSERT INTO wps_Shops (shopName, shopEmail, shopStyle)
    VALUES ('$shopName', '$email', '$css')";

$quer = mysql_query($sql);

$result = mysql_query("SELECT *
                    FROM wps_Shops
                    ORDER BY shopId DESC
                    LIMIT 1");

$lastShop = mysql_fetch_array($result);

$id = strval($lastShop['id']);

echo ("Id: ".$id);

if ($quer)
{
    echo("<h1>Shop created</h1>");
    echo("<p><a href=\"shop.php?id=$id\">Go to shop</a></p>");
    echo("<p><a href=\"addproducts.php?id=$id\">Add products</a></p>");
}

mysql_close($con);

4 个答案:

答案 0 :(得分:2)

您需要mysql_insert_id

答案 1 :(得分:2)

在您为插入执行mysql_query()之后,您可以使用mysql_insert_id()来获取插入行的ID。

mysql_query("INSERT INTO........");
$id=mysql_insert_id();

答案 2 :(得分:1)

是'id'还是'shopId'?但您应该使用:http://php.net/mysql_insert_id

答案 3 :(得分:1)

或者,您可以进行以下MySQL查询:

$query = "SELECT * FROM wps_Shops WHERE id=LAST_INSERT_ID()";
$result = mysql_query($query);

虽然我对你为什么使用 ORDER BY shopId 感到困惑,但在以后的电话会议中:

$id = strval($lastShop['id']);

此外,是否真的需要进行 strval()调用?当你调用 echo()时,PHP已经为你做了类型转换。而且,目前,从 mysql_query() mysqli_query()返回的任何结果数据都以字符串格式返回,而不管MySQL中该列的数据类型。