我试图从php中的数据库插件中获取自动增量id回到我的javascript ajax调用:
我的ajax电话看起来像这样:
//get values
var note = $('#note1').val();
alert(userID);
alert(beerID);
var ajaxSettings = {
type: "POST",
url: "atn.php",
data: {u:userID , b:beerID ,n:note},
success: function(data){
alert(data);
} ,
error: function(xhr, status, error) { alert("error: " + error); }
};
$.ajax(ajaxSettings);
return false;
我的php脚本如下所示:
<?php
error_log("starting code");
require_once('myConnectDB.inc.php');
$u = $_POST['u'];
$b = $_POST['b'];
$n = $_POST['n'];
//do some checks etc
$db = new myConnectDB();
$u = $db->real_escape_string($u);
$n = $db->real_escape_string($n);
$b = $db->real_escape_string($b);
$query3 = "INSERT INTO tn (userID,beerID,note) VALUES ($u, '$b', '$n')";
$result = $db->query($query3);
$dbID = mysql_insert_id();
echo $dbID;
?>
我尝试发回的$ dbID在php脚本运行后没有收到警报。我在警报中收到此错误:
<br />
<b>Warning</b>: mysql_insert_id() [<a href='function.mysql-insert-id'>function.mysql-insert-id</a>]: A link to the server could not be established in <b>/home4/m133414/public_html/atn.php</b> on line <b>23</b><br />
答案 0 :(得分:2)
替换以下行:
$dbID = mysql_insert_id();
这个:
$dbID = $db->insert_id;
由于您在使用面向对象版本时错误地使用了mysql_insert_id()的过程版本,所以为了保持一致,我们也在这里使用OOP版本。