I have two tables as follow (just an example) :
|    Table1      |      |    Table2      |
------------------      ------------------
| id_table1 (pk) |      | id_table1 (pk) |
| foo            |      | id_table1 (fk) |
|                |      | bar            |
I need to insert a row in table1, then get the last inserted id and then insert a new row in the table2.
I'm using PDO with PHP and I want to do that in a single request.
But I also would like to retrieve the "first last_inserted_id" that I stored in a variable.
So what I did is :
$q = $db->query(
   'INSERT INTO table1 (foo)
    VALUES ("any");
    SET @id = LAST_INSERT_ID();
    INSERT INTO table2 (id_table1, bar)
    VALUES (@id, "any");
    SELECT @id;'
);
But unfortunately, when I fetch the result, I get false.  
So what am I doing wrong ?
Is there a way to get an SQL variable ?
