【发布时间】:2020-04-02 04:16:45
【问题描述】:
目前,我创建了一个具有登录功能的应用程序。要从 android 连接到 MySQL 数据库,我使用 PHP。当我使用 MySQLi 时,一切正常。但是当我转换为 PDO 时,错误将与我的问题标题相同。谁能知道是什么问题?以下是我的 PHP 代码:
<?php
require_once 'configPDO.php';
$response = array();
if(isTheseParametersAvailable(array('badgeid', 'pwd'))){
$badgeid = $_POST['badgeid'];
$pwd = $_POST['pwd'];
$stmt = $conn->prepare("SELECT badgeid, email, fullname, roles_id, team_id FROM users WHERE badgeid = :badgeid AND pwd = :pwd AND roles_id = 3");
// $stmt->bind_param("ss",$badgeid, $pwd);
$stmt->bindParam(':badgeid',$badgeid,PDO::PARAM_STR);
$stmt->bindParam(':pwd',$pwd,PDO::PARAM_STR);
$stmt->execute();
//$stmt->store_result();
if($stmt->rowCount() > 0){
$stmt->bindParam($badgeid, $email, $fullname, $roles_id, $team_id);
$stmt->fetch();
$user = array(
'badgeid'=>$badgeid,
'email'=>$email,
'fullname'=>$fullname,
'roles_id'=>$roles_id,
'team_id'=>$team_id
);
$response['error'] = false;
$response['message'] = 'Login successfull';
$response['user'] = $user;
}else{
$response['error'] = false;
$response['message'] = 'Invalid username or password';
}
}
echo json_encode($response);
function isTheseParametersAvailable($params){
foreach($params as $param){
if(!isset($_POST[$param])){
return false;
}
}
return true;
}
【问题讨论】:
-
这里好像遇到了服务器错误。查看从服务器返回的原始响应(在转换为 JSON 之前)。
-
原始响应是什么意思?
-
在将其转换为 JSON 之前,您从服务器获得的原始响应。您的客户端 (android) 代码看起来如何?
-
@CodyKL 你想帮助我吗?我可以给android代码
-
@Dharman 你能指出错误在哪里吗?