2017-06-28 123 views
0

我試圖通過從兩個不同的表中選擇最後插入的值來插入值。這段代碼應該可以工作,但是它會在'SELECT MAX(users.id)'中出錯。我確定拼寫正確。還有什麼可能是錯的?從mysql上的兩個表中選擇

$query1 = "INSERT INTO post(postid, userid, readornot) 
      SELECT MAX(post.postid), SELECT MAX(users.id), 
      :readornot FROM post, users ";  
$select1 = $db->prepare($query1); ':readornot' => $readornot));  
+0

一件事,你不能綁定列/表。 –

+1

@ jeroen他們試圖在這裏綁定一列,對吧?編輯:你不斷刪除你的評論* lol!* –

+0

@ Fred-ii-不,我認爲這只是一個值插入'readornot' – jeroen

回答

3
$query1 = "INSERT INTO post(postid, userid, readornot) 
      VALUES (
      (SELECT MAX(post.postid) FROM post) p, 
      (SELECT MAX(users.id) FROM users) u, 
      :readornot 
      )";  
$select1 = $db->prepare($query1); ':readornot' => $readornot)); 

這樣的事情,我覺得

+0

謝謝。這是我正在尋找的。但是現在,我收到錯誤消息'您無法指定目標表' –

+0

我之前沒有注意到:您正在從插入的位置選擇相同的表格(後)。 Mysql不喜歡那樣。 –

+0

我很難理解你存儲在你的表中。你試圖存儲什麼(爲什麼,而不是技術上你怎麼試試) –