我正在查看我的一个项目的一些代码,并考虑我用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>
PHP:
<?PHP
include('db.PHP'); // connect to the MysqL server and select database
MysqL_query($_POST['query']);
?>
显然这是一个简单的例子,只是想知道这是否可行,我可以替换每个运行单独查询的大量小PHP页面?
解决方法:
不要那样做!
它将允许任何人用你的数据库做他喜欢的事情!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。