通过PHP+从MySql获取状态;JSON
我正在构建一个android游戏,在这个游戏中,我试图将用户的个人资料从MySql数据库下载到本地SQLite数据库中。我可以将配置文件发送到服务器,但无法检索它 这里是相关的android方法,它们应该没有问题,它们可以正常工作,尽管逻辑本身可能是关闭的通过PHP+从MySql获取状态;JSON,php,android,mysql,Php,Android,Mysql,我正在构建一个android游戏,在这个游戏中,我试图将用户的个人资料从MySql数据库下载到本地SQLite数据库中。我可以将配置文件发送到服务器,但无法检索它 这里是相关的android方法,它们应该没有问题,它们可以正常工作,尽管逻辑本身可能是关闭的 //LOAD PROFILE CLASS userFunctions.getServerGameState(email, monster, qty, exp); db.saveLocalGameSate(monster
//LOAD PROFILE CLASS
userFunctions.getServerGameState(email, monster, qty, exp);
db.saveLocalGameSate(monster, qty, exp);
//FUNCTIONS CLASS
public JSONObject getServerGameState(String email, String monster, int qty, int exp) {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", get_game_state));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("monster", monster));
params.add(new BasicNameValuePair("qty", Integer.toString(qty)));
params.add(new BasicNameValuePair("exp", Integer.toString(exp)));
// getting JSON Object
JSONObject json = jsonParser.getJSONFromUrl(monsterURL, params);
// return json
return json;
}
//DB HANDLER CLASS
public void saveLocalGameSate(String monster, int qty, int exp){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_MONSTER, monster); // Do they own it
values.put(KEY_QTY, qty); // Number of things they own
values.put(KEY_EXP, exp); // monster's level
// Inserting Row
db.insert(USERPROFILES_TABLE, null, values);
db.close(); // Closing database connection
}
functions.php
public function getGameState($email, $monster, $qty, $exp) {
$result = mysql_query("SELECT monster AND qty AND exp WHERE email = '$email'");
$row = mysql_fetch_assoc($result);
if (mysql_num_rows($result) > 0) {
$gamestate = array();
$gamestate["monster"] = $result["monster"];
$gamestate["qty"] = $result["qty"];
$gamestate["exp"] = $result["exp"];
// success
$response["success"] = 1;
// user node
$response["GameState"] = array();
array_push($response["GameState"], $gamestate);
// echoing JSON response
echo ($response);
} else {
return false;
}
下面是我收到的一些错误消息
06-12 14:15:52.046: E/JSON(10577): <b>Warning</b>: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
<b>/home/content/40/8529140/html/webapps/monster/include/DB_Functions.php</b> on line <b>145</b><br />
06-12 14:15:52.046: E/JSON(10577): <b>Warning</b>: mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>/home/content/40/8529140/html/webapps/monster/include/DB_Functions.php</b> on line <b>147</b><br />
06-12 14:15:52.046: E/JSON(10577): {"tag":"get_game_state","success":0,"error":1,"error_msg":"Error getting game state from server"}
06-12 14:15:52.046: E/JSON Parser(10577): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
$result=mysql_查询(“选择monster和数量以及exp,其中email='$email')
你能分享一下服务器端(PHP)的“请求”结构吗?你的mysql\u query()失败了。使用mysql_error()找出原因。谢谢这就是SQL语句失败的原因。愚蠢的错误。请查看底部的我的更新以及相关错误消息。您是如何解析json响应的?为了不发布整个类,我使用的是同一个类,就像您控制+F“json PARSER class”一样。我使用的是确切的类。错误在于解析不正确。所以请检查解析响应。JSONObject json_user=json.getJSONObject(“用户”);user是您的json数组名。
06-12 14:15:52.046: E/JSON(10577): <b>Warning</b>: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
<b>/home/content/40/8529140/html/webapps/monster/include/DB_Functions.php</b> on line <b>145</b><br />
06-12 14:15:52.046: E/JSON(10577): <b>Warning</b>: mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>/home/content/40/8529140/html/webapps/monster/include/DB_Functions.php</b> on line <b>147</b><br />
06-12 14:15:52.046: E/JSON(10577): {"tag":"get_game_state","success":0,"error":1,"error_msg":"Error getting game state from server"}
06-12 14:15:52.046: E/JSON Parser(10577): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
06-12 15:03:48.216: E/JSON Parser(11427): Error parsing data org.json.JSONException: Value Array of type java.lang.String cannot be converted to JSONObject
You missed table name . It should be as follows :
$result = mysql_query("SELECT monster,qty,exp from table_name WHERE email = '$email'")