PHP, jQuery AJAX - 2 mysql queries


PHP, jQuery AJAX - 2 mysql queries

我正在尝试执行mysql_query();如果成功的话,我不想再做一个了,它必须更新另一个表中的一个字段。

我的mysql_query();代码如下:

$query = mysql_query($sql)or die(mysql_error());
    if($query){
        $sqlU = mysql_query("UPDATE lookup SET lookupStatus=1 WHERE lookupId=".(int)$post['FK_lookupId']."");
        return true;
    }

问题中没有提供的$sql只是一个简单的INSERT语句。

$sqlU UPDATE语句甚至没有运行。

p.S:我认为问题是它是通过jQueryAJAX运行的,因此当第一个mysql_query();返回true,它将切断我的PHP的其余部分。

我的jQuery:

$('#lookupAnswerGo').submit(function() {
var dataString = $(this).serialize();
$.ajax({  
    type: "POST",  
    url: "/includes/classes/handler.php?do=addLookupAnswer",
    data: dataString,
    success: function(returnedData){
        if(returnedData){
            $('.errorMessage').fadeIn().html(returnedData);
        } else {
            window.location.href = "";
        }
    }
  });
  return false;
});

如果我对AJAX的问题是正确的,那么我该如何防止它切断我的PHP?

也许你可以尝试一个更健壮的版本来检查第一个查询是否运行,比如:

  $query = mysql_query($sql)or die(mysql_error());
  if( mysql_affected_rows() > 0 )
  {
    $sqlU = mysql_query("UPDATE lookup SET lookupStatus=1 WHERE lookupId=".(int)$post['FK_lookupId']."");
    return true;
  }

没有理由认为这是AJAX调用的问题。php脚本的执行仅以php语句结束,即return或die。AJAX本身无法确定查询是否完成(除非您在php中提供了适当的语句)。