2012-03-23 22 views
0

我有一個PHP函數,插入多條記錄到MySQL變量:如何返回已在MySQL被重新設置爲PHP

我想使用的第一個INSERT statment的LAST_INSERT_ID(@asset)作爲我的下一個功能的變量。我打電話上述功能,在設置變量的方式,期望是:

$asset_ID = commit_purchase($asset_type_ID, $org_ID,.......etc.) 

我敢肯定我的問題是什麼地方圍繞「返回$ ASSET_ID」在我的SQL語句。我嘗試了各種各樣的東西,但似乎沒有任何工作。我對PHP/MySQL很新,所以請和我一起裸照。僅使用1個LAST_INSERT_ID調用時,我已能夠成功完成此操作。

什麼都沒有被返回。

謝謝。

+0

不要一次做很多查詢!您應該爲每個查詢單獨聲明。 – Brad 2012-03-23 17:56:31

+0

我很想將它們分開,但它們或者一起工作或者一起失敗是非常重要的。我需要他們進行交易。無論如何分開他們,而保持他們在交易? – Progger 2012-03-23 17:57:57

+2

絕對如此。 http://php.net/manual/en/pdo.begintransaction.php – Brad 2012-03-23 17:59:05

回答

0

打破這種分解成多個查詢,這真是最好的解決辦法,但要回答你原來的問題:如果你想在PHP的MySQL變量的值,只需執行SELECT查詢:

$asset_ID = mysql_result(mysql_query('SELECT @asset_ID')); 
+0

我把你建議的命令放在我的COMMIT下面;「;但我仍然沒有得到任何回報。」 – Progger 2012-03-23 19:21:34

+0

在同樣的巨大查詢中?我很驚訝這樣做,因爲我認爲PHP的mysql接口忽略了所有在第一個分號之後(以緩解注入攻擊),也許它返回第一個查詢的結果(即「START TRANSACTION」,它實際上沒有返回任何東西)。 – Brian 2012-03-23 20:01:13

相關問題