Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Android登录mysql数据库_Php_Android_Mysql - Fatal编程技术网

Php Android登录mysql数据库

Php Android登录mysql数据库,php,android,mysql,Php,Android,Mysql,大家好,我正在用android做一个简单的登录系统,登录mysql数据库。这就是我迄今为止所尝试的: main活动: protected String doInBackground(String... args) { strUsername = etUsername.getText().toString(); strPassword = etPassword.getText().toString(); try{

大家好,我正在用android做一个简单的登录系统,登录mysql数据库。这就是我迄今为止所尝试的:

main活动:

       protected String doInBackground(String... args) {

        strUsername = etUsername.getText().toString();
        strPassword = etPassword.getText().toString();

        try{
            String data  = URLEncoder.encode("username", "UTF-8") 
            + " = " + URLEncoder.encode(strUsername, "UTF-8");
            data += "&" + URLEncoder.encode("password", "UTF-8") 
            + " = " + URLEncoder.encode(strPassword, "UTF-8");

            URL url = new URL(url_login);
            URLConnection conn = url.openConnection(); 
            conn.setDoOutput(true); 

            OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
            wr.write( data ); 
            wr.flush(); 

            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line = null;
            // Read Server Response
            while((line = reader.readLine()) != null)
            {
               sb.append(line);
               break;
            }

            Log.e("TAG", sb.toString());

            return sb.toString();


         }catch(Exception e){
            return new String("Exception: " + e.getMessage());
         }


    }
PHP方面:

<?php
// Connect to dbconnect.php
include('dbconnect.php');

// array for JSON response 
$response = array();

// username and password sent from form
$username = $_POST['username'];
$password = $_POST['password'];



$stmt = $conn->prepare('SELECT username, password FROM customer WHERE username = :username AND  password = :password');
$stmt->execute(array(':username' => $username, ':password' => $password ));


$result = $stmt->fetch(PDO::FETCH_ASSOC);
$user = $result['username'];
$affected_rows = $stmt->rowCount();

    if($affected_rows >= 1){
         $response["success"] = 1;
         // successfully inserted into database

     $response["message"] = "New record successfully created.";
         // echoing JSON response
     echo json_encode($response);
    }
    else{
        $response["success"] = 0;
        echo json_encode($response);
    } 


?>  

样本记录:

用户名:admin 密码:admin

我尝试运行此操作,但它得到的响应是:success:0,这意味着不成功。我在这里做错了什么?我非常感谢你的帮助。非常感谢。

*PDOStatement::rowCount()返回受相应PDOStatement对象执行的最后一个DELETE、INSERT或UPDATE语句影响的行数

如果关联PDO语句执行的最后一条SQL语句是SELECT语句,某些数据库可能会返回该语句返回的行数。但是,不能保证所有数据库都有这种行为,便携式应用程序不应依赖这种行为*

检查$result以查看您是否有用户名。

(根据要求回答注释) 而不是所有这些:

$result = $stmt->fetch(PDO::FETCH_ASSOC); 
$user = $result['username']; 
$affected_rows = $stmt->rowCount(); 
if($affected_rows >= 1){ 
$stmt->execute(数组…
行下尝试此操作

if($stmt->rowCount() > 0) 
  { echo "Exists"; }
else { echo "Does not exist"; }

或者看看我是从哪里得到的。

你可能想把
密码
列添加到你的选择中,就像在
选择用户名,来自客户的密码
@Fred ii-我在添加密码时仍然得到相同的密码OK。那么把
如果($infected\u rows>=1)
更改为
如果($infected\u rows>0)
@Fred ii-同样的问题再次出现而不是所有的
$result=$stmt->fetch(PDO::fetch_ASSOC);$user=$result['username'];$impacted_rows=$stmt->rowCount();if($impacted_rows>=1){
执行…
--
如果($stmt rowCount()>0)
或者看看我从哪里得到这个答案