10004, 'status' => 'error', 'message' => '数据库连接失败']); exit; } // 测试用户名是否已存在 function testUsername(mysqli $conn, string $username): bool { $sql = "select * from users where username = '$username' and status = 1"; // sql注入风险 $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { return true; } else { return false; } } // 如果action是register,则注册用户 if ($action == 'register') { $username = $data['username']; $password = $data['password']; $email = $data['email']; $role = isset($data['role']) ? $data['role'] : 'user'; if (testUsername($conn, $username)) { echo json_encode(['code' => 10001, 'status' => 'error', 'message' => '用户名已存在']); } else { $sql = "insert into users (username, password, email, role) values ('$username', '$password', '$email', '$role')"; $result = mysqli_query($conn, $sql); if ($result) { echo json_encode(['code' => 0, 'status' => 'success', 'message' => '注册成功']); } else { echo json_encode(['code' => 10002, 'status' => 'error', 'message' => '注册失败', 'sql'=>$sql]); } } } // login的逻辑 if ($action == 'login') { $username = $data['username']; $password = $data['password']; $sql = "select * from users where username = '$username' and password = '$password'"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { echo json_encode(['code' => 0, 'status' => 'success', 'message' => '登录成功']); $_SESSION['username'] = $username; } else { echo json_encode(['code' => 10003, 'status' => 'error', 'message' => '用户名或密码错误']); } } // delete的逻辑 if ($action == 'delete') { $id = $data['id']; $sql = "update users set status = 0 where id = $id"; $result = mysqli_query($conn, $sql); if ($result) { echo json_encode(['code' => 0, 'status' => 'success', 'message' => '删除成功']); } else { echo json_encode(['code' => 10005, 'status' => 'error', 'message' => '删除失败']); } } // update的逻辑 if ($action == 'update') { $id = $data['id']; $username = $data['username']; $email = $data['email']; $role = $data['role']; $sql = "update users set username = '$username', email = '$email', role = '$role' where id = $id"; $result = mysqli_query($conn, $sql); if ($result) { echo json_encode(['code' => 0, 'status' => 'success', 'message' => '更新成功']); } else { echo json_encode(['code' => 10006, 'status' => 'error', 'message' => '更新失败']); } }