java - Android-通过邮件登录mysql获取特定数据

标签 java php android mysql

我有一个可以登录和注册的应用程序,这个应用程序可以从数据库读取数据,但是我获取所有用户的所有数据,如何获取与登录用户匹配的数据?

这是我的 API 和 SharedPref

 <?php
 require_once('dbConnect.php');
 if($_SERVER['REQUEST_METHOD']=='GET') {
    $sql = "SELECT * FROM farm ORDER BY SN" ;
    $res = mysqli_query($con,$sql);
    $result = array();
    while($row = mysqli_fetch_array($res))
      {
      array_push($result, array('no'=>$row[0], 'username'=>$row[1], 
      'SN'=>$row[2]));
      }
 echo json_encode(array("value"=>1,"result"=>$result));
 mysqli_close($con);
 }
?>

这是 Sharedpreference 上的代码

public class SharedPrefManager {

public static final String SP_PREF = "etSmartAgriculture";
public static final String SP_EMAIL = "etUsername";
public static final String SP_ALREADY_LOGGEDIN = "spAlreadyLoggedIn";

private SharedPreferences sp;
private SharedPreferences.Editor spEditor;

public SharedPrefManager(Context context){
    sp = context.getSharedPreferences(SP_PREF, Context.MODE_PRIVATE);
    spEditor = sp.edit();
}

public void saveSPString(String keySP, EditText value){
    spEditor.putString(keySP, String.valueOf(value));
    spEditor.commit();
}

public void saveSPInt(String keySP, int value){
    spEditor.putInt(keySP, value);
    spEditor.commit();
}

public void saveSPBoolean(String key7SP, boolean value){
    spEditor.putBoolean(key7SP, value);
    spEditor.commit();
}


public Boolean getSPSudahLogin(){
    return sp.getBoolean(SP_ALREADY_LOGGEDIN, false);
}

/**
 * Get stored session data
 * */
public HashMap<String, String> getUserDetails(){
    HashMap<String, String> user = new HashMap<String, String>();
    // user email id
    user.put(SP_EMAIL, sp.getString(SP_EMAIL, null));



    // return user
    return user;
}
}

最佳答案

要获取特定的用户详细信息,您需要更改 SQL 查询。我不确定你的数据库表结构。您需要选择用户电子邮件地址与您传递的电子邮件地址相匹配的用户信息:SP_EMAIL。

$sql = "SELECT * FROM farm WHERE user_email = SP_EMAIL ORDER BY SN";

在这里您可以得到完整的登录注册教程,并存储登录后的用户信息。请仔细阅读此tutorial 。希望对您有所帮助。

关于java - Android-通过邮件登录mysql获取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55998441/

相关文章:

android - 即时导入正在添加随机资源和静态 ID

android - 如何在服务中使用 SQLiteOpenHelper

JavaFx 场景生成器 ImageView 质量

java - 暴力密码破解程序 Java

java - 将 ImageView 转换为整数 : Android Studio

javascript - 基于 html 标题值的 css 中的图像 url

javascript - 使用拖放后更新 MySQL 中的持久数据

java - 如何提高每 'n' 分钟运行一次的循环的性能

php - 已将数据插入 MySQL 数据库,但字段为空

java - oreo 和 pie 中的后台服务问题