2013-05-25 26 views
0
$sql_comp5 ="INSERT INTO `tiquets` (`Id_Tiquet`) VALUES (NULL); SELECT LAST_INSERT_ID()"; 
    $result8 = mysql_query($sql_comp5); 

    $flag_control=0; 
    while ($row = mysql_fetch_assoc($result8, MYSQL_BOTH)) 
    { 
     $flag_control=$flag_control+1; 
      $id_t[$flag_control]=$row['LAST_INSERT_ID()'];    
    } 


    for ($buc = 1; $buc <=$flag_control; $buc++) 
    { 
      $id_tiquet=$id_t[$buc];     
    } 

我在做对吗?或者我错了?我在php和mysql中使用LAST_INSERT_ID(),但我无法得到结果。为什么?

非常感谢!

+0

[请不要在新代码中使用mysql_ *函数](http://bit.ly/phpmsql)。他们不再被维护[并且被正式弃用](http://j.mp/XqV7Lp)。看到[红框](http://j.mp/Te9zIL)?了解[_prepared statements_](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 –

回答

0

你不能做两个查询使用mysql_*函数。你需要mysqli::multi_query()。要使用mysql_*使用mysql_insert_id()获得最后插入ID:

$sql_comp5 ="INSERT INTO `tiquets` (`Id_Tiquet`) VALUES (NULL);"; 
$result8 = mysql_query($sql_comp5); 
$id  = mysql_insert_id($result8); 
0

删除第二个查询 - 和使用PHP的mysql_insert_id()

$ sql_comp5 = “INSERT INTO tiquets(​​3210)VALUES(NULL)”;
$ result8 = mysql_query($ sql_comp5); $ insertedId = mysql_insert_id();

相关问题