当我通过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);
}