我正在尝试执行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中提供了适当的语句)。