使用javascript和php通过ajax运行MySQL查询

Tim*_*Tim 3 javascript php mysql ajax

我正在查看我的一个项目的一些代码,并考虑我用ajax调用的所有php页面,只运行一个简单的更新或插入查询,它让我思考.如果我基本上可以从javascript运行插入或更新sql查询,该怎么办?

假设我在服务器端使用ajax和php的原型javascript框架.

这会有用吗?

JS:

<script type="text/javascript">
// table is string containing table name
// fields is an array of field names
// values is an array of values
function mysql_insert(table,fields,values) {
    var sql = "INSERT INTO " + table + "(";
    for(i=0; i<fields.length; i++) {
        sql = sql + "`"+fields[i]+"`";
    }
    sql = sql + ") VALUES (";
    // purposefully used fields array in for loop so we get matching number of values
    for(i=0; i < fields.length; i++) {
        sql = sql + "'"+values[i]+"'";
    }
    sql = sql + ");";

    var par = 'query='+sql;
    var ajax = new Ajax.Request('sql.php',{method:'post',parameters:par,onComplete:function(res) { }});
}
</script>
Run Code Online (Sandbox Code Playgroud)

PHP:

<?php
    include('db.php');  // connect to the mysql server and select database
    mysql_query($_POST['query']);
?>
Run Code Online (Sandbox Code Playgroud)

显然这是一个简单的例子,只是想知道这是否可行,我可以替换每个运行单独查询的大量小PHP页面?

jan*_*mon 10

不要那样做!

它将允许任何人用你的数据库做他喜欢的事情!

他可以将任何sql命令发送到您的数据库.