mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID。如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0。

解决方案 »

  1.   

    $db->query($sql);   //不执行怎么又自增id呢
    $uid = mysql_insert_id();
      

  2.   

    $sql="SELECT * FROM `imuser` where account ='$_POST[account]' LIMIT 1";
    $db->query($sql);
    if($db->fetchRow()){echo  "{\"statusCode\":\"300\",\"message\":\"错误!用户已存在!\",\"navTabId\":\"\",\"callbackType\":\"forward\"}";exit();}
    $sql="INSERT INTO `imuser` (`account` ,`name` ,`password` ,`salt` ,`sex` ,`show`,`permission`,`createtime`  )
    VALUES ( '$_POST[account]','$_POST[name]', '$password', '$salt', '$sex', '$show','$permission',`createtime`);";
    $uid = mysql_insert_id();
    $sql="INSERT INTO `imdeptuser` (`did` ,`uid`) VALUES ('$did','$uid');";
    $sql="INSERT INTO `imclubuser` (`cid` ,`uid`) VALUES ('$cid','$uid');";
    这是原码 请问怎么弄  
      

  3.   

    $uid = mysql_insert_id();这句是获得上一步INSERT 操作产生的ID...
    你这行代码前面 有定义一个INSERT插入的sql语句,可是并未去执行.....因此获取不到ID解决办法:
    $sql="INSERT INTO `imuser` (`account` ,`name` ,`password` ,`salt` ,`sex` ,`show`,`permission`,`createtime`  )
    VALUES ( '$_POST[account]','$_POST[name]', '$password', '$salt', '$sex', '$show','$permission',`createtime`);";
    这里加上 :$db->query($sql);
    $uid = mysql_insert_id();
      

  4.   

    $sql="SELECT * FROM `imuser` where account ='$_POST[account]' LIMIT 1";
    $db->query($sql);
    if($db->fetchRow()){echo  "{\"statusCode\":\"300\",\"message\":\"错误!用户已存在!\",\"navTabId\":\"\",\"callbackType\":\"forward\"}";exit();}
    $sql="INSERT INTO `imuser` (`account` ,`name` ,`password` ,`salt` ,`sex` ,`show`,`permission`,`createtime`  )
    VALUES ( '$_POST[account]','$_POST[name]', '$password', '$salt', '$sex', '$show','$permission',`createtime`);";
    $db->query($sql); 
    $uid = mysql_insert_id();
    $sql="INSERT INTO `imdeptuser` (`did` ,`uid`) VALUES ('$did','$uid');";
    $sql="INSERT INTO `imclubuser` (`cid` ,`uid`) VALUES ('$cid','$uid');";