从php获取ajax调用的返回值

时间:2013-11-02 14:46:14

标签: javascript php jquery mysql ajax

我试图从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 /> 

1 个答案:

答案 0 :(得分:2)

替换以下行:

$dbID = mysql_insert_id();

这个:

$dbID = $db->insert_id;

由于您在使用面向对象版本时错误地使用了mysql_insert_id()的过程版本,所以为了保持一致,我们也在这里使用OOP版本。