gpt4 book ai didi

php - mysql_insert_id() 不返回值 -

转载 作者:行者123 更新时间:2023-11-29 04:23:56 24 4
gpt4 key购买 nike

我需要从我的数据库表中检索自动递增字段。我尝试了以下但 $id 总是空的。

插入也有效。

我的表格如下:idint(9) NOT NULL auto_increment,

并且id被设置为主

我做错了什么? $conn = mysql_connect($host,$username,$password); mysql_select_db($database, $conn) or die("无法选择数据库"); 包括“update_activity.php”; updateActivity("登录", "休息时");

    $date = date("m/d/y"); $starttime = time();
$sesh = $_SESSION['fname']." ".$_SESSION['lname'];
$q = "INSERT INTO `breaks` (date, starttime, user) VALUES ('".$date."', '".$starttime."', '".$sesh."')";

$query = mysql_query($q, $conn);
$id = mysql_insert_id($conn);

echo var_dump($id); exit;

编辑以显示我最近的尝试

最佳答案

已阅读所有给出的评论以及您对每条评论的回复。只有其中一个是可能的:

  1. 要么查询正常工作要么
  2. 您没有获得生成的主键。

这两个都不可能是真的。

定义,你怎么知道查询是有效的?您知道运行查询前后的最大 PK 吗?插入是从其他地方或线程甚至其他用户发生的吗?查询从代码或从您的 mysql 客户端正常工作?

要诊断问题,我们必须通过正常方式。

  1. 在调用 mysql_query 之前转储生成的查询。
  2. 在您的查询调用周围包裹一个错误检查系统,以便 php 可以告诉您查询是否有效。我相信仅通过这两个步骤,您就会发现问题的根本原因。

    error_reporting(E_ALL);
    ini_set('display_errors','on');

    echo "before calling: $q\n";
    $query = mysql_query($q, $conn);
    if(!$query)
    {
    echo "Error:" . mysql_error($conn);
    return;
    }
    echo " generated id:" . mysql_insert_id($conn);

关于php - mysql_insert_id() 不返回值 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com