【问题标题】:Problem handling data to php with POST method使用 POST 方法处理数据到 php 的问题
【发布时间】:2018-12-03 18:04:08
【问题描述】:

我正在开发一个在我拥有的域的数据库中注册用户的应用程序。我使用 Android Studio 开发它,但在使用 POST 方法处理用户信息到 php 文件时遇到了一些问题。

我的主要问题是我的应用程序在将数据传输到数据库时返回成功,但是当我查看它时它是空的。

这是我的 Java 代码:

package com.test.application;

import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

public class RegisterRequest extends StringRequest {

private static final String REGISTER_REQUEST_URL="http://www.mywebsite.com/Register.php";
private Map<String,String> params;
public RegisterRequest(String user, String password, String email, Response.Listener<String> listener){
    super(Method.POST, REGISTER_REQUEST_URL, listener, null);
    params = new HashMap<>();
    params.put("name", user);
    params.put("password", password);
    params.put("useremail", email);
}

@Override
public Map<String, String> getParams() {
    return params;
}
}

这是我接收数据的 PHP 代码:

<?php
    $con = mysqli_connect("bbdd.mywebsite.com", "user", "password", "database");
    
    $Username = $_POST["name"];
    $Password = $_POST["password"];
    $UserEmail = $_POST["useremail"];
    $statement = mysqli_prepare($con, "INSERT INTO AccountsInfo (Username, Password, UserEmail) VALUES (?, ?, ?)");
    mysqli_stmt_bind_param($statement, "ssis", $Username, $Password, $UserEmail);
    mysqli_stmt_execute($statement);
    
    $response = array();
    $response["success"] = true;  
    
    echo json_encode($response);
?>

【问题讨论】:

  • 您遇到的具体问题是什么?
  • 我遇到的问题是它让我成功地在 php 代码中传输数据,但是当我查看数据库时它是空的
  • 您可能需要修改您的问题以告诉我们问题究竟是什么。也就是说,该连接字符串看起来很可疑。由于您从不检查错误,因此您永远不会知道它是否失败。试试localhost 而不是bbdd.mywebsite.com 看看会发生什么。哦,在您进行开发时打开错误报告。 ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
  • 好的,谢谢

标签: java php android


【解决方案1】:

假设其他一切都正确,绑定调用中的参数类型规范有一个不匹配任何参数的i(整数)。对于 3 个字符串参数,您需要使用 sss:

mysqli_stmt_bind_param($statement, "sss", $Username, $Password, $UserEmail);

您应该启用错误报告,这样事情就不会默默地失败。看 how to get a detailed error report when a php-mysql script fails?

【讨论】:

  • 哦,真的!我错误地添加了它。现在一切都好。非常感谢;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-11
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 2016-04-06
  • 2014-08-30
相关资源
最近更新 更多