使用第一个表ID将数据插入2个表中

时间:2014-07-09 10:33:21

标签: php mysql joomla

我的joomla 2.5网站组件中的两个表试图插入两个表,第一个表ID应该是第二个表foreign-key

Table: MYTABLE
-------------------------------------------------------------
|  mytab_id  |  mytab_name | mytab_country  |  mytab_city  |  
-------------------------------------------------------------

 Table: YOURTABLE
    -------------------------------
    |  yourtab_id  |  group_name | 
    -------------------------------

mytab_id的值为auto increment,应该作为yourtab_id插入第二个表foreign-key

如何将数据作为第一个表id值插入到第二个表id。

我已尝试过以下代码,但它无法正常工作。

$insert_query = "INSERT INTO #__mytable (mytab_name, mytab_country, mytab_city) VALUES ('". $mytab_name."',".$mytab_country.",'".$mytab_city."'); ";
    $db->setQuery( $insert_query );
    $db->query();

    $insert_query2 = "INSERT INTO #__yourtable (yourtab_id, group_name) VALUES (".LAST_INSERT_ID().", 2);";
    $db->setQuery( $insert_query2 );
    $db->query();

谢谢,

2 个答案:

答案 0 :(得分:1)

试试这个,

在Joomla中,您可以使用

获取最后一个插入ID
 $db->insertid();

有关Joomla DB Queries的详细信息,请尝试在查询中使用更多标准。

    $db = JFactory::getDbo();
    $query = $db->getQuery(true);

     // Insert columns.
     $columns = array('mytab_name', 'mytab_country', 'mytab_city');
     // Insert values.
     $values = array($db->quote($mytab_name), $db->quote($mytab_country), $db->quote($mytab_city));

    // Prepare the insert query.
    $query
         ->insert($db->quoteName('#__mytable'))
         ->columns($db->quoteName($columns))
         ->values(implode(',', $values));

    // Set the query using our newly populated query object and execute it.
    $db->setQuery($query);
    $db->query();

您可以制定here

等查询标准

希望有所帮助......

答案 1 :(得分:-1)

您可以使用可用的php函数来实现此目的

mysql_insert_id()

您可以参考Here了解php中的文档