5

can we execute mySQL queries in jQuery Calllback functions & misc. functions

like simple query

UPDATE EMPLOYEE SET PAY = PAY + 500 WHERE E_ID = '32'
2
  • This is a pretty open question, you're asking how to do an AJAX update that increases the selected employee's pay by $500, right? Then we'll need some other information, like what language/platform you're doing this one...the answer's different if you're using PHP vs ASP.Net vs ruby... Commented Nov 20, 2010 at 17:41
  • Actually, the answer is simply NO. JQuery can't make a connection to a MySQL server - you'll need a serverside script. Commented Nov 20, 2010 at 17:44

4 Answers 4

12

While you could do this using a callback to a server-side script to execute your queries against MySQL, it would be a quick way to security holes.

Generating SQL queries from anything run on an end user device is a terribly bad idea.
Never trust anything a user sends you.

Sign up to request clarification or add additional context in comments.

Comments

10

The best thing you can do is to issue an AJAX request to a server and then execute this query using a server side code.

You can use jQuery.post() in this case.

Edit

To get an overview of AJAX Read this

Read this to get and overview of AJAX methods in jQuery.

Write a server side logic to execute the SQL command, in a page. Then using AJAX issue a request to that page.

Sample Code

$(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;
    });
});

Comments

1

Try this:

https://github.com/vinval/MyJSQL

How to:

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

1 Comment

See the previous comment. This library allows a client to execute any SQL statement on the server. Very dangerous. I see nothing in the library to prevent anyone on a client from issuing SQL statements to the server with this library.
0

You can't directly access a database from javascript/jQuery but you can post to a web service on the server which can access the database.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.