我是编程新手并原谅我的问题。我目前从远程服务器获取列 officer_name 。将其解析为JSON并发送到应用程序。但我想添加另一个带有INT数据类型的列数据引用,并将其与 officer_name 一起发送到App。我怎么能实现这样的呢?
sql查询
$sql = "select officer_name from user_tbl where user_name like '".$user_name."' and password like '".$password."' and activate = 1;";
$result = mysqli_query($con,$sql);
$response = array();
if (mysqli_num_rows($result)>0)
{
$row = mysqli_fetch_row($result);
$officer_name = $row[0];
$code = "Login_Success";
array_push($response,array("code"=>$code,"officer_name"=>$officer_name));
echo json_encode($response);
获取JSON的Android Java代码
public void onResponse(String response) {
try {
JSONArray jsonArray = new JSONArray(response);
JSONObject jsonObject = jsonArray.getJSONObject(0);
String code = jsonObject.getString("code");
if (code.equals("Login_Failed"))
{
builder.setTitle("Login Error");
displayAlert(jsonObject.getString("message"));
}
else
{
Intent intent = new Intent(Login.this,MainActivity.class);
Bundle bundle = new Bundle();
bundle.putString("officer_name", jsonObject.getString("officer_name"));
intent.putExtras(bundle);
startActivity(intent);
}
截至目前,我只从服务器获取官方名称。我想从我的数据库中添加一个数据 reference 列,其中包含INT值。
答案 0 :(得分:0)
它看起来像是因为你只选择OFFICER_NAME而没有其他专栏。 当您想要选择更多时,只需键入(SELECT officer_name,data_u_want2,data_u_need3 FROM等..)
我的获取userdata的脚本看起来通常是这样的:
java -ea -classpath ~/javaml/bin/:~/Randoop/randoop-all-3.1.4.jar randoop.main.Main gentests --testclass=net.sf.javaml.core.Complex --literals-file=CLASSES
你应该在将来使用预备语句来防止sql注入。
您可以将$ username更改为$ officer_name或其他任何内容,并将您想要的columnts放入$ response