gpt4 book ai didi

php - 如何使用从 JSON 到 PHP 的参数查询数据库?

转载 作者:行者123 更新时间:2023-11-30 23:13:15 25 4
gpt4 key购买 nike

我一直在尝试在我的 iPhone 应用程序中使用 JSON,通过使用 PHP 从我的 SQL 数据库中检索信息。我可以成功发送一个 JSON 并将其返回给 iPhone 应用程序。当我尝试从发送的 JSON 数组中获取参数时出现问题。它失败了,我不确定我的陈述有什么问题。任何建议都会很棒。

function connect($config) {
try {
$conn = new \PDO('mysql:host=localhost;dbname=authorization',
$config['username'],
$config['password']);

$conn->setAttribute(\PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

return $conn;

}catch(Exception $e){
return false;
}
}

function query($conn, $body) {

if (isset($body['authorization'])) {

// Put parameters into local variables
$authorization_code = $body['authorize'];
$device_id = $body['device'];
}
$stmt = $conn->prepare("SELECT uses_remaining FROM phone_authorization WHERE authorization_code = $authorization_code");
$stmt->execute();
$results = $stmt->fetchAll();
return $results ? $results : false;
}

if ($_SERVER['HTTP_METHOD'] === 'postValues'){

$body;

if($_POST == null){

$handle = fopen('php://input', 'r');
$rawData = fgets($handle);
$body = json_decode($rawData);
}
else{
$body == $_POST;
}

$conn = connect($config);

$row = query($conn, $body);

if ($row) {
echo json_encode($row);
}
else
{
$data['value1'] = $row;
$data['value2'] = "test";
echo json_encode($data);
}

}
else {

$data['error'] = 'The Service you asked for was not recognized';
echo json_encode($data);
}

谢谢

最佳答案

如果您的 $body 是 json 变量,您必须将其解码为 php 使用 json_decode

function query($conn, $body) {

if (isset($body['authorization'])) {

// Put parameters into local variables

$authorization_code =json_decode($body['authorize'], true);
$device_id = json_decode($body['device'], true);
}
$stmt = $conn->prepare("SELECT uses_remaining FROM phone_authorization WHERE authorization_code = $authorization_code");
$stmt->execute();
$results = $stmt->fetchAll();
return $results ? $results : false;
}

if ($_SERVER['HTTP_METHOD'] === 'postValues'){

$body;

if($_POST == null){

$handle = fopen('php://input', 'r');
$rawData = fgets($handle);
$body = json_decode($rawData);
}
else{
$body == $_POST;
}

$conn = connect($config);

$row = query($conn, $body);

if ($row) {
echo json_encode($row);
}
else
{
$data['value1'] = $row;
$data['value2'] = "test";
echo json_encode($data);
}

}
else {

$data['error'] = 'The Service you asked for was not recognized';
echo json_encode($data);
}

关于php - 如何使用从 JSON 到 PHP 的参数查询数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19013310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com