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