0

在我的 Java 代码中,我有这样的东西:

nameValuePairs.add(new BasicNameValuePair("sql", "INSERT INTO 
`TABLE_NAME` ( `id` , ,`description`)VALUES (NULL , 'some text')"));

但是当字符串到达​​服务器时,它就像:

$sql = $_POST['sql'];

$sql包含:

INSERT INTO  `TABLE_NAME` ( `id` , ,`description`)VALUES (NULL ,
\'some text\')

问题是我想将 SQL 语句传递给我的 PHP 服务器并在服务器上执行它们,如下所示:

mysql_query($sql,$con);

我希望我能够将 SQL 语句发送到服务器,然后解析响应。但是我想要的 SQL 语句是在 Java 应用程序中构建的。

这应该怎么做?

这是否受到足够的保护?

 if(isset($_GET['phpusername']) && ($_GET['phpusername'] == "user" ) )
 {  
if(isset($_GET['phppassword']) && ($_GET['phppassword'] == "pass" )) {
               `//do some execution of raw sql query`
         } }
4

1 回答 1

0

如果您需要在 java 端构建查询并且无法避免这种情况,我建议您不要发送整个查询行,而是发送 table_name='mytable'、id='12'、description='blablabla' 之类的对。

例如,您可以使用JSON格式或简单的帖子,或任何您喜欢的格式。你可以在java端做那行变量,把它发送到php端,在那里解析它并查询“你的梦想”;)

于 2013-11-01T15:14:54.543 回答