Php Android-检查MySQL中SELECT语句是否返回值
在输入密码之前,我会解释我想做什么, 我有一个Android项目,连接到MySQL数据库,我的应用程序中有一个密码恢复活动,在这个活动中,用户将键入他的电子邮件以获取他的登录信息,因此当用户单击“发送”时,应用程序将检查数据库中是否存在电子邮件,如果是,将发送电子邮件,如果否,将通知用户 现在,在PHP端,一切正常,我编写了查询,它返回正确的值Php Android-检查MySQL中SELECT语句是否返回值,php,android,mysql,Php,Android,Mysql,在输入密码之前,我会解释我想做什么, 我有一个Android项目,连接到MySQL数据库,我的应用程序中有一个密码恢复活动,在这个活动中,用户将键入他的电子邮件以获取他的登录信息,因此当用户单击“发送”时,应用程序将检查数据库中是否存在电子邮件,如果是,将发送电子邮件,如果否,将通知用户 现在,在PHP端,一切正常,我编写了查询,它返回正确的值 public function getUName($UEmail) { if ($UEmail != NULL) { $data
public function getUName($UEmail) {
if ($UEmail != NULL) {
$data = array();
$sql = "Select UName FROM `user` WHERE `Email`= '" . $UEmail . "'";
$result = $this->db->query($sql);
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
$data[] = $row;
}
return $this->_jsonEncode( $data );
}
}
我知道在PHP中,如果我想检查SELECT语句是否返回值,我将编写如下代码:
if (mysql_num_rows($result) > 0)
但在Android端呢?我有这个功能:
private boolean getUserInfo(String uEmail)
{
String getInfo_URL = SERVER_URL + "GetInfo.php?email=" + uEmail;
new CommunicatetoServer().execute(getEmail_URL);
return true;
}
如果SELECT语句返回值,我希望此函数返回true,否则返回false
先谢谢你
new CommunicatetoServer().execute(getEmail_URL);
您必须以这样的方式实现CommunicatetoServer,即在执行http请求后,它将从服务器接收数据
您确实需要在另一个线程中实现HTTP请求,例如使用AsyncTask或对HTTP请求使用外部LIB,并使用当CommunicatetoServer接收从服务器返回的数据时将触发的回调
在您的例子中,PHP脚本返回JSON数据。您只需要将接收到的JSON数据解析为java对象表示
您可以使用示例库在Android中进行JSON解析
一些注意事项:
你的PHP代码非常糟糕。这是不安全的-您有SQL注入
弱点
字段电子邮件在数据库中是唯一的吗?它必须是-如果是,请使用fetch\u行而不是fetch\u数组
非常感谢,这让我知道了该做什么,关于安全,这只是学校的作业,这就是为什么我没有考虑太多,但无论如何,谢谢你。