Php Android-检查MySQL中SELECT语句是否返回值

Php Android-检查MySQL中SELECT语句是否返回值,php,android,mysql,Php,Android,Mysql,在输入密码之前,我会解释我想做什么, 我有一个Android项目,连接到MySQL数据库,我的应用程序中有一个密码恢复活动,在这个活动中,用户将键入他的电子邮件以获取他的登录信息,因此当用户单击“发送”时,应用程序将检查数据库中是否存在电子邮件,如果是,将发送电子邮件,如果否,将通知用户 现在,在PHP端,一切正常,我编写了查询,它返回正确的值 public function getUName($UEmail) { if ($UEmail != NULL) { $data

在输入密码之前,我会解释我想做什么, 我有一个Android项目,连接到MySQL数据库,我的应用程序中有一个密码恢复活动,在这个活动中,用户将键入他的电子邮件以获取他的登录信息,因此当用户单击“发送”时,应用程序将检查数据库中是否存在电子邮件,如果是,将发送电子邮件,如果否,将通知用户

现在,在PHP端,一切正常,我编写了查询,它返回正确的值

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数组
非常感谢,这让我知道了该做什么,关于安全,这只是学校的作业,这就是为什么我没有考虑太多,但无论如何,谢谢你。