也就是说php加入数据库时是线性的.我可以在数据库的company_id段设置为auto_increasement吗,这样好象比先读出最大的id值再加一要简单,是吧?

解决方案 »

  1.   

    $query="INSERT INTO companies";
    $query.="(company_name,company_address,telephone_1,telephone_2,mobile_1,mobile_2,fax_1,fax_2,email_1,email_2)";
    $query.="VALUES('{$HTTP_POST_VARS["company_name"]}','{$HTTP_POST_VARS["company_address"]}','{$HTTP_POST_VARS["telephone_1"]}','{$HTTP_POST_VARS["telephone_2"]}',
    '{$HTTP_POST_VARS["mobile_1"]}','{$HTTP_POST_VARS["mobile_2"]}','{$HTTP_POST_VARS["fax_1"]}','{$HTTP_POST_VARS["fax_2"]}','{$HTTP_POST_VARS["email_1"]}',
    '{$HTTP_POST_VARS["email_2"]}')";
    $result=mysql_query($query,$db);
            or die("Error_Number: 00002,database query failed");
    mysql_free_result($result);
    我想在接下来的动作是读取company_id的值,如何做呢?
    还有$result=mysql_query($query,$db);中的$result可以不写是吗?
      

  2.   

    回楼上的楼上:mysql_insert_id可以读取上一个auto_increment的id
    对于非select类的$result可以不写
      

  3.   

    你的意思是要刚添加完就得到刚添加的那个公司的ID,如果公司名称都是唯一的好搞,但是公司名称不一定那取出来的值很可能就不对。
    还有$result=mysql_query($query,$db);中的$result可以不写是吗?它是为了方便你得到对数据库操作的结果,在编程的时候最好加上,方便调试~
      

  4.   

    谢谢楼上几位!
    再问我在timestamp(14)的now()是精确到秒,我想做个20位的id:是14位的时间加6位的随机校验码.以下是我的程序:
    function randNum() { 
     $chars='0123456789'; 
     mt_srand((double)microtime()*1000000*getmypid()); 
     $random_num="";
     while(strlen($random_num)<$len)
     $random_num.=substr($chars,(mt_rand()%strlen($chars)),1);
     return $random_num;
     } 
    我想把now()值和randNum返回值连在一起,行吗?
    怎么写?
      

  5.   

    $id = time() . randNum();
    不过时间貌似是10位不是14位
    另外楼上的$len在哪里定义的?
      

  6.   

    function randNum($len) { 
     $chars='0123456789'; 
     mt_srand((double)microtime()*1000000*getmypid()); 
     $random_num="";
     while(strlen($random_num)<$len)
     $random_num.=substr($chars,(mt_rand()%strlen($chars)),1);
     return $random_num;
     } 
    楼上对不起我忘写了!
      

  7.   

    mysql> select NOW() + 0;  
    -> 19971215235026  
    关键是"19971215235026"这个值如何在php程序中得到!!
      

  8.   

    $query="SELECT now()+0";
    $result=mysql_query($query,$db)
              or die("Error_Number: 00002,database query failed");
    $result=mysql_fetch_row($result);
    $friendship_id=$result[0]."111111";
    自己搞定了!