我有以下代码:
$sql = "INSERT INTO table VALUES ('', ...)";
$result = mysql_query($sql, $link) or die(mysql_error());
$id = mysql_insert_id($result) or die('oops'); //mysql_error() instead of oops produces the same result
echo $id . "\nDone";
此插入发生的表具有自动填充字段,但输出的所有内容均为:
完成
我做错了吗?
答案 0 :(得分:7)
您不需要将$ result传递给mysql_insert_id,您应该传递$ link变量。
答案 1 :(得分:2)
mysql_insert_id()
function期望第一个参数是连接资源。
答案 2 :(得分:1)
执行mysql_insert_id($ link)或mysql_insert_id()而不是mysql_insert_id($ result),因为mysql_insert_id参数是[resource $ link_identifier]
答案 3 :(得分:1)
你不需要传递任何东西,如果你这样做,你应该传递连接var