我试图检索用户输入的已提交数据的 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。
添加.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();
应该处理该错误。就整体问题而言,我很担心,因为我根本看不到您在哪里连接到数据库。
关于php - 获取提交数据的 id 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866862/