用PHP写一份APi接口
以下是一个简单的PHP API接口示例,用于获取和保存用户信息。
<?php
// 定义常量
define('DB_HOST', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'password');
define('DB_NAME', 'mydatabase');
// 连接数据库
$conn = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
// 检查连接是否成功
if (!$conn) {
die("连接数据库失败: " . mysqli_connect_error());
}
// 设置响应头
header('Content-Type: application/json');
// 处理请求
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
// 获取用户信息
if (isset($_GET['id'])) {
// 获取单个用户信息
$id = mysqli_real_escape_string($conn, $_GET['id']);
$query = "SELECT * FROM users WHERE id = $id";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) > 0) {
$user = mysqli_fetch_assoc($result);
echo json_encode($user);
} else {
http_response_code(404);
echo json_encode(['message' => '用户不存在']);
}
} else {
// 获取所有用户信息
$query = "SELECT * FROM users";
$result = mysqli_query($conn, $query);
$users = mysqli_fetch_all($result, MYSQLI_ASSOC);
echo json_encode($users);
}
} elseif ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 保存用户信息
$data = json_decode(file_get_contents('php://input'), true);
$name = mysqli_real_escape_string($conn, $data['name']);
$email = mysqli_real_escape_string($conn, $data['email']);
$password = mysqli_real_escape_string($conn, $data['password']);
$query = "INSERT INTO users (name, email, password) VALUES ('$name', '$email', '$password')";
if (mysqli_query($conn, $query)) {
http_response_code(201);
echo json_encode(['message' => '用户创建成功']);
} else {
http_response_code(400);
echo json_encode(['message' => '用户创建失败']);
}
} elseif ($_SERVER['REQUEST_METHOD'] == 'PUT') {
// 更新用户信息
$data = json_decode(file_get_contents('php://input'), true);
$id = mysqli_real_escape_string($conn, $data['id']);
$name = mysqli_real_escape_string($conn, $data['name']);
$email = mysqli_real_escape_string($conn, $data['email']);
$password = mysqli_real_escape_string($conn, $data['password']);
$query = "UPDATE users SET name='$name', email='$email', password='$password' WHERE id=$id";
if (mysqli_query($conn, $query)) {
http_response_code(200);
echo json_encode(['message' => '用户更新成功']);
} else {
http_response_code(400);
echo json_encode(['message' => '用户更新失败']);
}
} elseif ($_SERVER['REQUEST_METHOD'] == 'DELETE') {
// 删除用户信息
$data = json_decode(file_get_contents('php://input'), true);
$id = mysqli_real_escape_string($conn, $data['id']);
$query = "DELETE FROM users WHERE id=$id";
if (mysqli_query($conn, $query)) {
http_response_code(200);
echo json_encode(['message' => '用户删除成功']);
} else {
http_response_code(400);
echo json_encode(['message' => '用户删除失败']);
}
}
// 关闭连接
mysqli_close($conn);
这个API接口使用了HTTP方法来处理不同的请求类型,GET用于获取数据,POST用于创建数据,PUT用于更新数据,DELETE用于删除数据。它还使用了JSON格式的数据传输,并使用了mysqli函数来与MySQL数据库交互。
原文地址: https://www.cveoy.top/t/topic/ERA 著作权归作者所有。请勿转载和采集!