获取提交数据的id返回NaN


getting id of submitted data returns NaN

我正在尝试检索用户输入的提交数据的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?

粘贴代码中的错误显示:

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();

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

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