2013-11-28 2 views
0

질문이 있습니다. 내 MySQL 데이터베이스/테이블에서 마지막으로 삽입 된 레코드/ID를 가져올 수 없습니다. 'tag_id'열에서 마지막으로 삽입 된 ID를 반환하고 싶지만 전혀 되돌릴 수 없습니다. 나는 DBO를 사용하고 있습니다. 나는 'mysql_insert_id'와 'lastInsertId'를 시도했지만 성공하지는 못했다.MySQL에서 마지막으로 삽입 한 레코드/ID를 가져올 수 없습니다.

내 데이터베이스 테이블은 다음과 같습니다

표 이름 :

tag_id | name 
----------+--------- 
    437 | 2011 
    438 | 2012 
    439 | 2013 
    440 | new 

내 PHP는 다음과 같습니다 gitags_tags (나는 '440'을 반환하려면이 경우) :

/* 
* Insert the new tagname in the database in the table 'gitags_tags' 
*/ 
$query = "INSERT INTO gitags_tags (`name`) VALUES ('".$new_tagname."')"; 
$db->setQuery($query); 

if (!$db->query()) { 
    echo "Something went wrong \n"; 
    echo $query . "\n"; 
    exit; 
} 

// Neither of these two work ... 
echo mysql_insert_id(); 
echo $db->lastInsertId('tag_id'); 

도움을 주시면 감사하겠습니다.

+0

Joomla 문제 여야합니다. [* * 읽으십시오.] (http://www.webmasterworld.com/php/3600870.htm). –

+0

데이터베이스에서 데이터를 가져 오려고한다면'insert' 쿼리가 아니라'select' 쿼리를 보여주십시오. Joomla 표준을 사용하여 데이터베이스 쿼리 코딩에 대한 Joomla 설명서를 읽으십시오! http://docs.joomla.org/Selecting_data_using_JDatabase .... 및 .... http://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase – Lodder

+0

시도해보십시오. var_dump ($ db-> mysql_insert_id()); –

답변

1

는 마지막으로 삽입 한 레코드를 얻으려면, 당신은이를 사용할 수 있습니다 당신은 잘못된 줌라 DB 기능을 사용하고

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

$query->select($db->quoteName('tag_id')) 
->from($db->quoteName('gitags_tags')) 
->order($db->quoteName('tag_id') . ' DESC'); 

$db->setQuery($query); 
$result = $db->loadResult(); 

echo $result; 
-1

tag_id가 기본 키로 설정되고 증분되어 있는지 확인하십시오.

/* 
* Insert the new tagname in the database in the table 'gitags_tags' 
*/ 
$query = "INSERT INTO gitags_tags (`name`) VALUES ('".$new_tagname."')"; 
$db->setQuery($query); 

echo mysql_insert_id(); 
echo $db->lastInsertId('tag_id'); 

//Use select query and echo this record with this tag_id. 
0

DESC 및 LIMIT를 사용하여 새 SQL 쿼리를 에코하여 작동해야합니다. 이처럼 :

SELECT tag_id FROM gitags_tags ORDER BY tag_id DESC LIMIT 1 
3

대신 echo $db->insertid();를 사용합니다.

관련 문제