如何获取MYSQL中最近添加的条目的关联唯一ID

时间:2013-10-17 16:00:02

标签: php mysql sql

我需要一些针对我的ajax问题的解决方法/解决方案

我有这个简单的<html>

<textarea class="msg"></textarea>
<button type="button" class="submit">Submit</button>

<div class="messages">
 <?php some php while loop here to display all submitted messages?>
</div>

当我点击提交时,此ajax获取<textarea>的值并将数据提交到messages.php

$(function() {
    $(document).on('click','.submit', function () {
    var msg = $('.msg').val();

   $.ajax({
     type:"POST",
     url:"messages.php",
     data: "msg=" + msg,
     success: function(html) {
       $(html).prependTo('.messages');
     }
   });
});
});

这是我的messages.php

   //insert into database
    $msg= $_POST['msg'];
    $db = dbConnect();
    $insert= "INSERT INTO messages (content)values ('$msg')";
    $db->query($insert);

   //get the recently added message and echo it

    $query = //select the ID of the added message
    $result = $db->($query);
    $row = $result->fetch_assoc());
       echo $row['id'];
       echo $row['content'];

我正在努力的部分是如何在将消息插入数据库后立即提交query消息,因此我可以在php中回显它,并通过ajax获取它。

 success: function(html) {
           $(html).prependTo('.messages');
         }

我知道我需要一些提交邮件的唯一标识符,但我不确定如何正确编码。

编辑:

好的,我需要查询添加的条目的原因是获取该条目的关联ID,因为我将使用该ID用于其他功能。我真正需要的是对我提交的数据的引用

2 个答案:

答案 0 :(得分:2)

$id = $db->insert_id;
$query = "SELECT * FROM messages WHERE id = $id";
$result = $db->query($query);
$row = $result->fetch_assoc();
echo $row['id'];
echo $row['content'];

答案 1 :(得分:-1)

使用最后插入的id函数,如果你插入两个不同的表并输入相同的行值,它也可以帮助

//insert query in this line
$lastid=mysqli_insert_id()//php function
$que = mysqli_query("SELECT * FROM table where id= '$lastid' ");
$r = mysql_fetch_array($que);
echo $r['id'];

希望这有帮助