我正在浏览我的一个项目的一些代码,并考虑了所有我使用ajax调用的php页面,这些页面只是运行一个简单的更新或插入查询,并且让我觉得。如果我基本上可以从JavaScript运行插入或更新sql查询怎么办?通过ajax使用javascript和php来运行MySQL查询
假设我在服务器端使用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>
PHP:
<?php
include('db.php'); // connect to the mysql server and select database
mysql_query($_POST['query']);
?>
显然,这是一个简单的例子,只是想知道这是否会工作,我可以替代很多小PHP页面是每个运行一个单独的查询?
安全威胁。它会工作,但你已经向公众公开了太多的信息。 – Raptor 2009-10-28 09:24:16