获取提交数据的ID返回NaN

时间:2012-01-15 01:26:39

标签: php javascript jquery ajax database

我正在尝试检索用户输入的提交数据的ID,然后使用jQuery / Ajax显示它。想法是显示数据的链接或“引用”页面。 “您的报价已提交!点击[链接]转到页面”链接看起来像这样:http://example.com/quote-123。 123是报价的ID。

这是我用来使用ajax和jQuery提交数据的部分。

$(document).delegate("'#submit-quote'", "submit", function(){
        var quoteVal = $(this).find('[name="quote"]').val();
        $.post("add.php", $(this).serialize(), function(data) {
            var like = $('.quote-wrap span iframe');
            $('.inner').prepend('<div class="quote-wrap group">' + like + '<div class="quote"><p>' + quoteVal+ '</p></div></div>');
            // console.log("success");
            var id = parseInt(data);
            alert(id);
        });
        return false;
    });

alert(id)返回NaN。

add.php:

require('inc/connect.php');


    $quote = $_POST['quote'];
    $quotes = mysql_real_escape_string($quote);

    //echo $quotes . "Added to database";

    mysql_query("INSERT INTO entries (quote) VALUES('$quotes')")
    or die(mysql_error());
    echo mysql_insert_id($quote);

我是JavaScript和PHP的新手,我真的很想学习和理解它。如何从提交的报价中获取ID?

2 个答案:

答案 0 :(得分:3)

你的贴身代码中的错误说:

Warning: mysql_insert_id() expects parameter 1 to be resource, string given in C:\wamp\www\virallikesproject\add.php on line 12

它所期望的资源是mysql_connect()返回的链接标识符,我在您的代码中没有看到。无论如何,mysql_insert_id()行为如果你不传递资源就是使用最后一个打开的行为。

更改此行:

mysql_insert_id($quote);

到此:

mysql_insert_id();

应该处理那个错误。就整体问题而言,我很担心,因为我根本看不到你在哪里连接数据库。

答案 1 :(得分:0)

根据http://us3.php.net/mysql_insert_id,mysql_insert_id不带参数,也不带链接标识符。你应该改为echo mysql_insert_id();