2014-03-14 58 views
0

我有免费的文本框TP_ID,拒绝,级别获取的ID从表行我刚插入

当我输入拒绝和水平,我点击提交它们存储到数据库中,TP_ID是AUTO_INCREMENT值。

<form name="Permit" id="Permit" action="<?php echo JURI::current(); ?>" method="post"> 
     <input type="text" name="TPID" value=""> <br> 
     <input type="text" name="Permit_or_Deny" value=""> <br> 
     <input type="text" name="Level" value=""> <br> 


     <p>input id="submit" name="submit" type="submit" value="save" /></p> 

    </form> 
<?php 
    if((isset($_POST['Permit_or_Deny'])) || (isset($_POST['Level']))|| (isset($_POST['TPID']))) 
     { 

     $Permit_or_Deny = $_POST['Permit_or_Deny']; 
     $Level= $_POST['Level']; 
     $TPID= $_POST['TPID']; 
     $db =& JFactory::getDBO(); 
     $query = "INSERT INTO tp_newedit (TP_ID, Permit_or_Deny, Level) 
     VALUES ('".$TPID."','".$Permit_or_Deny."','".$Level."');"; 
     $db->setQuery($query); 
     $db->query(); 
     echo "<script>window.close();</script>"; 
     } else 

    ?> 

有什么办法来检索最后创建的ID,并在文本框中显示呢?

+0

你说的是这个$ DB-> insertid();? – sismaster

+0

请注意,在这种情况下,“停止/启动”(“./。”)是不必要的。 – Strawberry

+0

如果您正在使用'DBO',为什么不进行参数查询?为什么保持自己容易发生注射攻击 – hjpotter92

回答

0

使用

$db->insertid() 

参见: http://docs.joomla.org/API17:JDatabase::insertid 获取更多信息。

+0

源错误。它不是insertid(),而是insert_id() –

+0

这是正确的!查看更新的来源。 –

+0

OP与JDatabase不兼容 –

0

您可以使用MySQL LAST_INSERT_ID()功能。这将返回给定会话的最后插入标识。

下面是一个例子:

mysql> INSERT INTO cities VALUES (NULL, 'Banglore','India',42789); 
Query OK, 1 row affected (0.00 sec) 

mysql> SELECT * FROM cities; 
+----+------------+---------+------------+ 
| id | city  | country | population | 
+----+------------+---------+------------+ 
| 5 | Paris  | France | 11836970 | 
| 6 | Nantes  | France |  283025 | 
| 7 | London  | UK  | 7556900 | 
| 8 | Manchester | UK  |  464200 | 
| 9 | Hull  | UK  |  258700 | 
| 11 | Banglore | India |  42789 | 
+----+------------+---------+------------+ 
6 rows in set (0.00 sec) 

mysql> SELECT LAST_INSERT_ID(); 
+------------------+ 
| LAST_INSERT_ID() | 
+------------------+ 
|    11 | 
+------------------+ 
1 row in set (0.00 sec) 
+0

谢谢,但是一旦我得到了最后一个Id,我如何将它插入到另一个表中? – user3403327

相关问题