2013-11-02 121 views
0

我想从PHP中的数据库插入自动递增ID回到我的JavaScript调用Ajax:获得返回值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; 



?> 

php脚本运行后,没有得到警告,我尝试发送回$ DBID。我得到这个错误在我的警告:

<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

作为一个测试,你有没有尝试发布到像“<?php echo”hi“这样的基本脚本脚本。 ?>'? – 2013-11-02 14:48:39

+0

我会尝试回显而不是打印现在 – Mike

+0

对不起,我使用回声出于习惯。打印和回显基本相同。我只是想让你尝试一些简单的东西,这样你就可以知道问题是PHP还是JavaScript。 – 2013-11-02 14:51:54

回答

2

替换您如下一行:

$dbID = mysql_insert_id(); 

这一个:

$dbID = $db->insert_id; 

当你被错误地使用mysql_insert_id()而程序版本你是在使用面向对象的版本,所以为了保持一致,我们也使用了OOP版本。