2010-11-20 59 views
3

jQueryコールバック関数でmysqlクエリを実行できるか& misc。単純なクエリのような関数JQueryでSQLクエリを実行できるか

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

これはかなりオープンな質問ですが、あなたは$ 500で選択された従業員の給与を増加AJAXの更新を行う方法を求めています、 右?次に、あなたがこれをやっている言語/プラットフォームのようないくつかの他の情報が必要になるでしょう。答えがPHPとASP.Netとrubyを使っているなら違います... –

+0

実際、答えは単純にNOです。 JQueryはMySQLサーバーに接続できません。サーバサイドスクリプトが必要です。 – Konerak

答えて

8

あなたができる最善のことは、サーバーにAJAX要求を発行し、サーバー側のコードを使用して、このクエリを実行することです。

この場合、jQuery.post()を使用できます。

編集を取得とjQueryでAJAXメソッドの概要にAJAX読むthis

読むthisの概要を取得します。

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

関連する問題