$dml = "insert into ... ";
mysql_query($dml,$con);
$Id = isset($row) ? $row['id'] : mysql_insert_id($con);
我看到记录已创建,但无法检索ID。
怎么了?
修改
已修复,这是由$ row引起的。
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以在SQL查询中使用内部MySQL SQL函数LAST_INSERT_ID()吗?
答案 2 :(得分:0)
从PHP手册(http://php.net/manual/en/function.mysql-insert-id.php):
返回值
为
AUTO_INCREMENT
生成的ID 由以前的INSERT查询列 成功,如果上一个查询确实为0 不生成AUTO_INCREMENT
值, 如果没有MySQL连接,则为FALSE 建立的。
因此,虽然这看起来很愚蠢,但请确保您插入数据的表包含一个设置了AUTO_INCREMENT
属性的列。
答案 3 :(得分:0)
你确定你在“id”中有一个auto_increment,你刚刚插入了一些数据吗?
mysql_insert_id
手册指出:
返回值
由AUTO_INCREMENT
列生成的ID 先前的INSERT
成功查询, 0 如果先前的查询没有 生成AUTO_INCREMENT
值,或FALSE
如果没有MySQL连接 建立的。
也许这解释了这个问题?
如果没有,您能为我们提供更多信息吗?像表的结构,和/或完整的插入查询?