2012-02-27 53 views
1

我試圖做一個mysql_query();如果這是成功的,我不想做另一個,它必須更新另一個表中的字段。PHP,jQuery AJAX - 2個mysql查詢

我的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?

+0

AJAX不會「切斷PHP」,它只是像任何瀏覽器一樣從Web服務器請求一個頁面。 – klennepette 2012-02-27 10:12:11

+0

直接調用你的php文件(不使用AJAX)並觀察結果。使用'print_r()'或'echo'來獲取'$ query'的內容 – user1027167 2012-02-27 10:30:36

+0

我只是認爲AJAX可以確定查詢是否成功,因此會「跳出」我的功能。 – skolind 2012-02-27 10:43:53

回答

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中提供適當的語句)。

+0

我會試試這個,當我會得到回到我的電腦。謝謝! – skolind 2012-02-27 10:44:17

+0

好吧,讓我知道:) – Michal 2012-02-27 11:14:01

+0

看起來像它的工作:) – skolind 2012-02-28 09:17:06