2010-11-20 71 views
3

我們可以在jQuery中執行mySQL查詢嗎Calllback函數&其他問題功能我們可以在jQuery中執行SQL查詢嗎

喜歡簡單的查詢

UPDATE EMPLOYEE SET PAY = PAY + 500 WHERE E_ID = '32' 
+0

這是一個非常開放的問題,你問如何做到這一點的$ 500提高了選擇的僱員的工資的AJAX更新, 對?然後我們需要一些其他信息,比如你在做什麼語言/平臺這個......如果你使用PHP vs ASP.Net vs ruby​​ ......答案是不同的...... – 2010-11-20 17:41:14

+0

實際上,答案很簡單。 JQuery無法連接到MySQL服務器 - 您需要一個服務器端腳本。 – Konerak 2010-11-20 17:44:14

回答

8

你能做的最好的事情是發出一個AJAX請求到服務器,然後使用服務器端代碼執行這個查詢。

在這種情況下,您可以使用jQuery.post()

編輯

爲了讓AJAX讀this

this的概述,以獲得和jQuery的AJAX方法概述。

在頁面中編寫服務器端邏輯以執行SQL命令。然後使用AJAX向該頁面發出請求。

示例代碼

$(function(){ 
    // Bind a click event to your anchor with id `updateSal` 
    $("#updateSal").click(function(){ 
     // get your employeeID 
     var empID = "32"; 
     // issue an AJAX request with HTTP post to your server side page. 
     //Here I used an aspx page in which the update login is written 
     $.post("test.aspx", { EmpID: empID}, 
      function(data){ 
       // callack function gets executed 
       alert("Return data" + data); 
     }); 

     // to prevent the default action 
     return false; 
    }); 
}); 
0

你不能直接從JavaScript/jQuery的訪問一個數據庫,但是你可以發佈到可以訪問數據庫服務器上的Web服務。

9

雖然你可以通過回調服務器端腳本來執行你對MySQL的查詢,但它可能是一種快速安全漏洞的方法。

從終端用戶設備上運行的任何事情生成SQL查詢是一個非常糟糕的主意。
永遠不要相信用戶發給你的任何東西。

0

試試這個:

https://github.com/vinval/MyJSQL

如何:

$.jsql({ 
tbName:"EMPLOYEE", 
set:["PAY=PAY+500"], 
where:"E_ID=32" 
}, function(){ 
//this is the callback 
}) 
+0

查看之前的評論。該庫允許客戶端在服務器上執行任何SQL語句。非常危險。我在庫中看不到任何東西,以防止客戶端上的任何人使用此庫向服務器發出SQL語句。 – Jeff 2017-08-26 21:41:19

相關問題