2016-06-01 8 views
1

drupalからmoodleデータベースに行を挿入していて、最後に挿入された行のIDを取得したいのですが、私はどこにも行きません。 ここに私のコードです。drupalでmysql_insert_id()を呼び出さない

   $moodle_database = array(
         'database' => 'moood', 
         'username' => 'root', 
         'password' => '', 
         'host' => 'localhost', //52.23.83.176 
         'driver' => 'mysql', 
        ); 

        Database::addConnectionInfo('moodle_db', 'default', $moodle_database); 
        db_set_active('moodle_db'); 


        try { 

        $question_query ="INSERT INTO mdl_question ". 
         "(category,parent,name,questiontext,generalfeedback) ". 
         "VALUES ". 
         "('$category','$parent','$name','$questiontext','$generalfeedback')"; 
         $queryResult=db_query($question_query); 
         $id = mysql_insert_id($queryResult); 
         } 

        catch (Exception $e) { 
         drupal_set_message(t('Exception while fetching question data ' . $e->getMessage())); 
        } 

        db_set_active(); 
+0

このURL「https:// www.drupal.org/node/151718」にアクセスしてください。 –

答えて

0

あなたは、Drupalの6を使用している場合は、コードの下に使用する必要があります。

db_last_insert_id('mdl_question', 'your_primary_key_id'); 

リンクの下に参照するのDrupal 7を使用している場合:Drupalの6では

http://drupal.stackexchange.com/questions/58991/how-to-retrieve-last-mysql-insert-id-from-drupal-7-db-merge 
+0

それは関数として認識しません –

+0

使用しているdrupalのバージョン。 –

+0

定義されていない関数db_last_insert_id()を呼び出します。これは私が受け取る応答です –

0

db_last_insert_id();を使用しています。

Drupalで7 InsertQuery::execute()はlast_insert_idを返します。

+0

@chandresh_cool –

+0

に従って構文がどうなるか –

+0

ます$ id = db_insert( 'mytableは') で私のINSERTクエリを記述しなければなら自分のコード –

関連する問題