Steven Steven - 1 year ago 97
PHP Question

MySQL- Why is LAST_INSERT_ID() not working for me?

I have the following code:

public function createNewGuide($userID,$guideName)
$sql =" INSERT INTO myTable(name, updated)
VALUES ('$guideName', 'NOW()')";

//Process query
$this->query($sql); // This inserts the new row
$this->query('LAST_INSERT_ID()'); // This throws an error

return $this->query_result;

My query function looks like this:

private function query($sql)
$this->query_result = mysql_query($sql, $this->conn)
or die("Unable to query local database <b>". mysql_error()."</b><br>$sql");

I get the following error:

MySQL Database Error: You have an error in your SQL syntax; check the
manual that corresponds to your MySQL
server version for the right syntax to
use near 'LAST_INSERT_ID()'

I've googled and looked at similar problems, but not found an answer :(

I have not tried the PHP function mysql_insert_id(), as I really would like to do this using SQL.

Answer Source

Why not just use PHP's mysql_insert_id?



...should work as long as you've an auto-increment column in the table.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download