PHP,jQuery AJAX - 2个mysql查询

时间:2012-02-27 09:50:05

标签: php jquery ajax

我正在尝试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:我认为问题在于它是通过jQuery AJAX运行的,因此当第一个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呢?

1 个答案:

答案 0 :(得分:1)

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

  $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语句结束 - 即返回或死亡。 AJAX本身无法确定查询是否完成(除非您在php中提供了适当的语句)。