Я пытаюсь выполнить следующий запрос в моем файле PHP.
показать создать таблицу test.account;
Когда я повторяю ответ, я получаю только первое слово запроса, т. Е. СОЗДАТЬ.
Я окружил весь запрос одиночными кавычками, но когда я повторяю ответ, я получаю только ответ от первой одинарной кавычки до следующей одинарной кавычки (следующая одинарная кавычка используется для некоторой строки по умолчанию), а не весь запрос.
Ниже приведен мой код интерфейса API -
@GET("createQueries.php/")
Call<String> loadCreateQueries(@Query("tableName") String tableName);
Мой PHP-код -
<?php
include_once 'db_functions.php';
$db = new DB_Functions();
require_once 'config.php';
// connecting to mysql
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
if ( !$con){
echo "Database Connection Error";
}
// selecting database
$select = mysqli_select_db($con,DB_DATABASE);
if ( !$select){
echo "Database Selection Error";
}
$tableName = $_GET["tableName"];
$result = mysqli_query($con, "SHOW CREATE TABLE test.".$tableName);
if ($result != false) {
$create_query = "'{";
while ($row = mysqli_fetch_assoc($result)) {
$fields = array_values($row);
$create_query = $create_query.$fields[1];
}
$create_query = $create_query."}'";
echo $create_query;
} else {
echo "Table not in server";
}
?>
Ответ
{CREATE TABLE `account` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`amount` float DEFAULT NULL,
`interestRate` float DEFAULT NULL,
`totalInterestReceived` float DEFAULT
Код клиента -
public void createTable() {
if (tableNames.length > tableIndex) {
NetworkUtil.getAPI(getApplicationContext()).loadCreateQueries(tableNames[tableIndex]).enqueue(new Callback<JsonElement>() {
@Override
public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {
progressDialog.dismiss();
if (response.isSuccessful()) {
String query = response.body().getAsString();
Log.d("Create Query - ", query);
} else System.out.println(response.errorBody());
}
@Override
public void onFailure(Call<JsonElement> call, Throwable t) {
t.printStackTrace();
}
});
}
}