当查询包含Android应用中的点(。)字符时,mySQL数据库不响应

时间:2014-10-03 22:42:04

标签: php android mysql

当我通过Android应用程序查询数据库时,如果查询的格式如下,则会出现问题:

SELECT table1.id FROM table1;

如果我使用以下语法,一切正常

SELECT id FROM table1;

我需要指定表,因为我使用了来自多个表的更复杂的查询。

当我直接从phpMyAdmin SQL命令窗口启动它们时,两个查询都正常工作, 但是第一个在我的App中失败了。

此外,如果我直接在PHP中设置

$column = "table1.id";

从浏览器运行它我也有很好的回应。

所以我相信当我发送String" table1.id"时会出现某种问题。到PHP脚本。我试过更改我的PHP代码,如

$query = "SELECT ".$column." FROM". $table;

$query = "SELECT {$column} FROM $table";

但没有成功。 有什么想法吗?

在java中,我开始这样的查询:

getQueryResults("table1.id","table1");

这是我用来与我的数据库进行通信的PHP代码

<?php

//load and connect to MySQL database stuff
require("session.php");

$response = array("success" => 0,"message" => "","data" => "");

if (!empty($_POST)) {

$column = $_POST['column'];
$table = $_POST['table'];

$query = "SELECT $column FROM $table";

try {
    $stmt = $db->prepare($query);
    $stmt->execute();
}
catch (PDOException $ex) {
    $response["success"] = 0;
    $response["message"] = $ex->getMessage();
    die(json_encode($response));
}

//fetching all the rows from the query
$result= $stmt->fetchAll();
$response["success"] = 1;
$response["message"] = "We have results!";
$response["data"] = $result;

// echoing JSON response
echo json_encode($response);
}

0 个答案:

没有答案