我想使用php和mysqli从数据库中检索特定的行。
例如:
我想用userid = 2
检索数据行$userid =2;
然后我使用$ userid给出了来自数据库的用户电子邮件,名称和密码:
include("includes/connect.php");
$user = "SELECT * FROM account WHERE user_id = $userid " ;
$query = mysqli_query ($conn, $user);
while($result = mysqli_fetch_array ($query)){
$name = $result['username'];
$password = $result['user_password'];
$email = $result['user_email'];
}
然后我想将用户名,密码和用户ID = 2的电子邮件发送到json中的移动应用程序。
之后怎么办呢?
答案 0 :(得分:2)
您需要使用json_encode
传递数据:
$data = array();
while($result = mysqli_fetch_array ($query)){
$data['username'] = $result['username'];
$data['user_password'] = $result['user_password'];
$data['user_email'] = $result['user_email'];
}
echo json_encode($data);
此外,您可以使用mysqli_fetch_assoc
从数据库中检索json数据:
$row=mysqli_fetch_assoc($query)
echo json_encode($row);
More information about mysqli_fetch_assoc
function.
注意,如果您确定只返回一行(在这种情况下,我认为只返回一行,因为通常user_id是唯一的),不需要使用while
。
答案 1 :(得分:1)
首先,您需要添加此行header('Content-Type: application/json');
将您的json文件输出到浏览器,并查看while
循环中的更改,并调用函数json_encode()
header('Content-Type: application/json');
include("includes/connect.php");
$user = "SELECT * FROM account WHERE user_id = $userid " ;
$query = mysqli_query ($conn, $user);
$json = array();
while($result = mysqli_fetch_array ($query)){
$json['name'] = $result['username'];
$json['password'] = $result['user_password'];
$json['email'] = $result['user_email'];
}
echo json_encode($json);
阅读mote: