3 回答
TA贡献1869条经验 获得超4个赞
您必须使用非常旧的 PHP 版本,可能是 PHP 5.3。我强烈建议尽快升级到最新版本。
升级后,您可以使用以下内容。
$stmt = $mysqli->prepare('SELECT id, name, email, phone FROM users WHERE id = ?');
$userId = 1; // or $_GET['userId'];
$stmt->bind_param('i', $userId);
$stmt->execute();
$json = json_encode($stmt->get_result()->fetch_assoc());
TA贡献2051条经验 获得超10个赞
我在这里的 php 文档中找到了一个有用的示例:https ://www.php.net/manual/en/mysqli-stmt.bind-result.php
基于该示例,这是我为您推荐的内容:
$results = array();
$stmt = $mysqli -> prepare('SELECT id, name, email, phone FROM users WHERE id = ?');
$userId = 1; // or $_GET['userId'];
$stmt -> bind_param('i', $userId);
$stmt -> execute();
$stmt -> bind_result($id, $name, $email, $phone);
while($stmt->fetch()){
$results[] = array(
"id"=>$id,
"name"=>$name,
"email"=>$email,
"phone"=>$phone
);
}
$stmt->close();
$output = json_encode($results);
TA贡献1797条经验 获得超6个赞
使用PDO:
$db = new PDO("mysql:host=$hostname;dbname=$dbname",$username,$password);
$sth = $db->prepare("SELECT id, name, email, phone FROM users WHERE id = ?");
$sth->execute([ $userId ]); // or $_GET['userId'];
$dbUser = $sth->fetch(PDO::FETCH_ASSOC);
echo json_encode($dbUser);
如果您的项目API使用:
header('Access-Control-Allow-Origin: *'); // For CORS
header('Content-Type: application/json');
- 3 回答
- 0 关注
- 111 浏览
添加回答
举报