2017-06-28 126 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

我很难理解你存储在你的表中。你试图存储什么(为什么,而不是技术上你怎么试试) –