81 lines
2.9 KiB
PHP
Executable File
81 lines
2.9 KiB
PHP
Executable File
<?php
|
|
header('Content-Type: application/json');
|
|
|
|
// 引用配置,建立数据库连接
|
|
require_once 'ApiConfig.php';
|
|
|
|
|
|
// 接收前端传递的OpenID
|
|
$received_openid = isset($_GET['openid']) ? $_GET['openid'] : null;
|
|
|
|
if ($received_openid) {
|
|
// 创建数据库连接
|
|
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
|
|
|
|
// 检查连接是否成功
|
|
if ($conn->connect_error) {
|
|
die(json_encode(["error" => "Database connection failed"]));
|
|
}
|
|
|
|
// 使用预处理语句查询
|
|
$stmt = $conn->prepare("SELECT * FROM 用户信息 WHERE OpenID = ?");
|
|
$stmt->bind_param("s", $received_openid);
|
|
$stmt->execute();
|
|
$result = $stmt->get_result();
|
|
|
|
// 检查查询是否成功
|
|
if ($result) {
|
|
if ($result->num_rows > 0) {
|
|
// 如果查询到记录,返回整条记录
|
|
$row = $result->fetch_assoc();
|
|
echo json_encode(["result" => "信息已经查询到", "data" => $row]);
|
|
} else {
|
|
// 如果没有查询到记录,执行插入操作
|
|
$insert_stmt = $conn->prepare("INSERT INTO 用户信息 (OpenID, 最后登录日期, 注册日期, HeadiconID) VALUES (?, NOW(), NOW(), 0)");
|
|
$insert_stmt->bind_param("s", $received_openid);
|
|
|
|
if ($insert_stmt->execute()) {
|
|
// 插入成功后再次查询
|
|
$stmt_after_insert = $conn->prepare("SELECT * FROM 用户信息 WHERE OpenID = ?");
|
|
$stmt_after_insert->bind_param("s", $received_openid);
|
|
$stmt_after_insert->execute();
|
|
$result_after_insert = $stmt_after_insert->get_result();
|
|
|
|
// 检查查询是否成功
|
|
if ($result_after_insert) {
|
|
if ($result_after_insert->num_rows > 0) {
|
|
// 如果查询到记录,返回整条记录
|
|
$row_after_insert = $result_after_insert->fetch_assoc();
|
|
echo json_encode(["result" => "新游客已经添加!", "data" => $row_after_insert]);
|
|
} else {
|
|
echo json_encode(["error" => "未找到插入后的记录"]);
|
|
}
|
|
|
|
// 关闭查询的预处理语句
|
|
$stmt_after_insert->close();
|
|
} else {
|
|
// 查询失败时的错误处理
|
|
echo json_encode(["error" => $conn->error]);
|
|
}
|
|
|
|
// 关闭插入的预处理语句
|
|
$insert_stmt->close();
|
|
} else {
|
|
echo json_encode(["error" => "Error inserting record"]);
|
|
}
|
|
}
|
|
} else {
|
|
// 查询失败时的错误处理
|
|
echo json_encode(["error" => $conn->error]);
|
|
}
|
|
|
|
// 关闭原始查询的预处理语句
|
|
$stmt->close();
|
|
|
|
// 关闭数据库连接
|
|
$conn->close();
|
|
} else {
|
|
echo json_encode(["error" => " 暂无数据!"]);
|
|
}
|
|
?>
|