You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Postman发送登录数据至PHP(连MySQL)无结果问题求助

排查PHP登录接口无返回结果的问题

先从你的代码里揪出几个显眼的问题,再给你一套逐步排查的方案:

1. SQL语句语法错误(最可能的直接诱因)

看你的查询语句:

SELECT full_name , password_hash , salt , email , id_con , born , city , country و card_id ,cardstatus, cardvalue FROM member WHERE username = ?

这里的و是阿拉伯语的“和”,应该替换成英文逗号,,这个语法错误会直接导致$con->prepare($query)失败,后续代码完全不执行,自然没有任何返回。修正后的SQL应该是:

SELECT full_name , password_hash , salt , email , id_con , born , city , country, card_id ,cardstatus, cardvalue FROM member WHERE username = ?

2. 开启PHP错误报告,让隐藏问题现形

默认情况下PHP可能不会显示错误,你可以在代码最开头加上这段,强制显示所有错误信息:

error_reporting(E_ALL);
ini_set('display_errors', 1);

不管是数据库连接失败、函数未定义还是语法问题,都会直接输出错误,不会再出现无响应的情况。

3. 核对Postman的请求配置是否正确

确保你在Postman里的请求完全符合接口要求:

  • 请求方法必须选POST
  • 请求头里一定要添加Content-Type: application/json
  • 请求体选择raw -> JSON格式,输入的参数要符合格式,比如:
    {
        "username": "你的测试用户名",
        "password": "你的测试密码"
    }
    

4. 验证数据库连接是否正常

检查db/db_connect.php里的连接代码,给它加上错误处理,避免连接失败却毫无提示:

$con = mysqli_connect($host, $user, $pass, $db);
if (!$con) {
    die(json_encode(["status" => 3, "message" => "数据库连接失败: " . mysqli_connect_error()]));
}

如果连接有问题,会直接返回错误信息告诉你问题出在哪。

5. 检查concatPasswordWithSalt函数逻辑

确保functions.php里的这个函数和你存储密码时的拼接逻辑一致,比如:

function concatPasswordWithSalt($password, $salt) {
    // 这里要和你加密密码时的规则完全匹配,示例:
    return $password . $salt;
}

就算这个函数有问题,至少也应该返回“Invalid username and password combination”的响应,如果你连这个都没收到,那大概率还是前面的SQL或连接问题。

6. 给SQL prepare添加失败处理

在$stmt = $con->prepare($query)后面加上判断,避免prepare失败后直接跳过所有逻辑:

if($stmt = $con->prepare($query)){
    // 原有的bind_param、execute等代码
} else {
    $response["status"] = 4;
    $response["message"] = "SQL预处理失败: " . $con->error;
    echo json_encode($response);
    exit;
}

这样如果SQL还有语法问题,会直接返回错误信息,帮你定位具体问题。

按照上面的步骤排查,应该能很快找到问题所在。

内容的提问来源于stack exchange,提问作者dero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:56:13