【发布时间】:2010-12-10 19:11:03
【问题描述】:
我正在查看我的一个项目的一些代码,并考虑我使用 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 页面?
【问题讨论】:
-
安全威胁。它会起作用,但是您向公众公开了太多信息。
标签: php javascript mysql ajax