[英]get id of last inserted record without using mysql_insert_id()
$sql =
'INSERT INTO customer
(first_name,
last_name,
email,
password,
date_created,
dob,
gender,
customer_type)
VALUES(:first_name,
:last_name,
:email,
:password,
:date_created,
:dob,
:gender,
:customer_type)' . ' SELECT LAST_INSERT_ID()' ;
誰能告訴我語法是否正確? 我在使用mysql_insert_id時遇到問題,這就是為什么我在使用SELECT LAST_INSERT_ID()
錯誤消息:mysql_insert_id()[function.mysql-insert-id]:用戶'ODBC'@'localhost'的訪問被拒絕
SELECT
在查詢上下文中沒有意義。 執行一個單獨的查詢。
不,這沒有任何意義。 如果您確實想選擇last_insert_id,則應在單獨的語句(實際上是下一個)中進行選擇。
但是不需要這樣做,因為您可以在API級別上進行操作。 只需為您的API調用適當的函數即可獲取最后的插入ID。 無需單獨聲明。
首先,您需要使用分號來分隔兩個查詢,其次,mysql_query不允許您同時執行兩個查詢,其次,如果您有多個並發用戶,則“ SELECT LAST_INSERT_ID”可能會出現問題(可能會發生沖突)。 mysql_insert_id有什么問題?
如果添加結束符,它將起作用;
在兩個查詢之間(至少MySQL會接受它,我不知道PHP是否會抱怨)。 但是,如上所述,它不是很好的代碼,如果將其分開,將成為競爭條件。 用mysql_insert_id()
找出問題,然后像設計的那樣使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.